我正在研究 C# 中的快捷方式。我成功地使用 SendKeys 实现了 Ctrl、Alt 和 Shift。
像这样;
Ctrl + C:
System.Windows.Forms.SendKeys.SendWait("^c");
or Alt + F4:
System.Windows.Forms.SendKeys.SendWait("%{F4}");
But I can't send "Windows Key" with SendKeys. I tried ex: Win + E : .SendWait("#e")
but it's not working. What should I use instead of "#"?
Thanks.
好吧,事实证明你真正想要的是这样的:http://inputsimulator.codeplex.com/
这已经完成了曝光的所有艰苦工作Win32 SendInput
方法到 C#。这允许您直接发送 Windows 密钥。这是经过测试并且有效的:
InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_E);
Note但是,在某些情况下,您希望专门将密钥发送到应用程序(例如ALT+F4
),在这种情况下使用Form
库方法。在其他情况下,您通常希望将其发送到操作系统,请使用上面的内容。
Old
将此保留在这里供参考,它不会在所有操作系统中工作,并且不会总是按照您想要的方式运行。请注意,您尝试将这些击键发送到应用程序,操作系统通常会提前拦截它们。就 Windows 7 和 Vista 而言,还为时过早(在E
已发送)。
SendWait("^({ESC}E)")
or Send("^({ESC}E)")
请注意这里:http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx
指定应按住 SHIFT、CTRL 和 ALT 的任意组合
按下同时按下其他几个键,请附上这些键的代码
括号中的键。例如,指定在按住 SHIFT 的同时
按下 E 和 C,使用“+(EC)”。指定在按住 SHIFT 的同时
按下 E,然后按下 C(无需 SHIFT),使用“+EC”。
请注意,既然你想要ESC
和(说)E
同时按下,您需要将它们括在括号中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)