我在Keyboard中使用以下代码启用/禁用Windows键。它工作正常。
public static class WindowsKey {
public static void Disable() {
RegistryKey key = null;
try {
key = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Control\\Keyboard Layout", true);
byte[] binary = new byte[] {
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x03,
0x00,
0x00,
0x00,
0x00,
0x00,
0x5B,
0xE0,
0x00,
0x00,
0x5C,
0xE0,
0x00,
0x00,
0x00,
0x00
};
key.SetValue("Scancode Map", binary, RegistryValueKind.Binary);
}
catch (System.Exception ex) {
Debug.Assert(false, ex.ToString());
}
finally {
key.Close();
}
}
public static void Enable() {
RegistryKey key = null;
try {
key = Registry.LocalMachine.OpenSubKey("System\\CurrentControlSet\\Control\\Keyboard Layout", true);
key.DeleteValue("Scancode Map", true);
}
catch (System.Exception ex) {
Debug.Assert(false, ex.ToString());
}
finally {
key.Close();
}
}
}
但如果我使用上面的代码,那么在系统重新启动后会影响启用/禁用。
我需要在C#上点击Button来执行此操作。这意味着如果我从上面的代码中调用Disable函数,我需要立即禁用Windows键(不会影响重启后)。
如果我在按钮单击上面的代码中调用启用功能,请单击“我需要启用Windows密钥”。
我该怎么做?在此先感谢!!