好的结果你真正想要的是:http: //inputsimulator.codeplex.com/
Win32 SendInput
它完成了将方法暴露给 C#的所有艰苦工作。这允许您直接发送 windows 密钥。这是经过测试和工作的:
InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_E);
但是请注意,在某些情况下,您希望专门将密钥发送到应用程序(例如ALT+F4
),在这种情况下使用Form
库方法。在其他情况下,您通常希望将其发送到操作系统,请使用上述内容。
老的
将其保留在这里以供参考,它不适用于所有操作系统,并且不会总是按照您的意愿行事。请注意,您正在尝试将这些击键发送到应用程序,而操作系统通常会提前拦截它们。对于 Windows 7 和 Vista,太早了(在E
发送之前)。
SendWait("^({ESC}E)")
或者Send("^({ESC}E)")
请注意:http: //msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx
要指定在按下其他几个键的同时按住 SHIFT、CTRL 和 ALT 的任意组合,请将这些键的代码括在括号中。例如,要指定在按下 E 和 C 时按住 SHIFT,请使用“+(EC)”。要指定在按 E 时按住 SHIFT,然后按 C 而不按 SHIFT,请使用“+EC”。
请注意,由于您希望ESC
和(比如说)E
同时按下,您需要将它们括在括号中。