Отправка ключа Windows с помощью SendKeys

Я работаю над ярлыками в C #. Мне удалось реализовать Ctrl, Alt и Shift с SendKeys.

Как это;

Ctrl + C:

System.Windows.Forms.SendKeys.SendWait("^c");

или жеAlt + F4:

System.Windows.Forms.SendKeys.SendWait("%{F4}");

Но я не могу отправить "Ключ Windows" с SendKeys. Я попробовал ex:Win + E : .SendWait("#e") но это не работает. Что я должен использовать вместо & quot; # & quot ;?

Благодарю.

Ответы на вопрос(2)

Alt + F4 работает только в скобках

SendKeys.SendWait("(%{F4})");
Решение Вопроса

ОК получается, что вы действительно хотите это: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)") или жеSend("^({ESC}E)")

Примечание отсюда:http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx

To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SHIFT while E and C are pressed, use "+(EC)". To specify to hold down SHIFT while E is pressed, followed by C without SHIFT, use "+EC".

Обратите внимание, что так как вы хотитеESC и скажи)E при одновременном нажатии необходимо заключить их в скобки.

Ваш ответ на вопрос