以下代码(在Firefox扩展中)切换" FontSmoothing"的值。注册表的密钥。
let regFontSmooth = Components.classes["@mozilla.org/windows-registry-key;1"].createInstance(Components.interfaces.nsIWindowsRegKey);
regFontSmooth.open(regFontSmooth.ROOT_KEY_CURRENT_USER, "Control Panel\\Desktop", regFontSmooth.ACCESS_ALL);
regFontSmooth.writeStringValue("FontSmoothing", regFontSmooth.readStringValue("FontSmoothing") == 0 ? 2 : 0);
regFontSmooth.close();
如何立即应用更改(无需重启或重新启动Windows资源管理器)?
谢谢。
答案 0 :(得分:0)
以下代码切换字体平滑。
Components.utils.import("resource://gre/modules/ctypes.jsm"); let lib = ctypes.open("user32.dll"); let fontSmooth = lib.declare("SystemParametersInfoW", ctypes.winapi_abi, ctypes.bool, ctypes.unsigned_int, ctypes.unsigned_int, ctypes.voidptr_t, ctypes.unsigned_int); fontSmooth(0x004B, true, ctypes.voidptr_t(0), 0); // 0x004B = SPI_SETFONTSMOOTHING. true/false = toggle font smoothing. lib.close();