L'envoi de la touche Windows à l'aide de SendKeys
Je suis en train de travailler sur les raccourcis en C#. - Je réussir la mise en œuvre de touches Ctrl, Alt et Maj avec SendKeys.
Comme cela;
Ctrl + C:
System.Windows.Forms.SendKeys.SendWait("^c");
ou Alt + F4:
System.Windows.Forms.SendKeys.SendWait("%{F4}");
Mais je ne peux pas envoyer de "Touche Windows" avec SendKeys. J'ai essayé ex: Win + E : .SendWait("#e")
mais cela ne fonctionne pas. Que dois-je utiliser à la place de "#"?
Grâce.
- La touche Windows est en fait l'équivalent d'un
CTRL + ESC
, avez-vous essayé avec qui? - Détaché. Il est SendSystemKeys "{Ctrl+Esc}"
- Oui, j'ai essayé avec .SendWait("^{ESC}") mais qui ne fonctionne pas trop. Est-il un mauvais code dans cette syntaxe?
- Processus.Début("explorer.exe");
- Win + E , est juste un exemple. Imaginez cela, j'ai besoin Win + R (Run) ou Win + L.
Vous devez vous connecter pour publier un commentaire.
OK s'avère vraiment ce que vous voulez, c'est ceci: http://inputsimulator.codeplex.com/
Qui a fait tout le travail à exposer le
Win32 SendInput
méthodes en C#. Cela vous permet d'envoyer directement la touche windows. C'est testé et fonctionne:InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.LWIN, VirtualKeyCode.VK_E);
Note cependant que, dans certains cas, vous voulez spécifiquement envoyer la clé de l'application (comme
ALT+F4
), dans quel cas utiliser leForm
méthode de bibliothèque. Dans d'autres, vous souhaitez l'envoyer à l'OS en général, l'utilisation ci-dessus.Vieux
Garder ce ici pour référence, il ne fonctionnera pas dans tous les systèmes d'exploitation, et ne sera pas toujours se comporter de la façon dont vous le souhaitez. Notez que vous essayez d'envoyer ces coups de clés pour l'application et le système d'exploitation généralement les intercepte tôt. Dans le cas de Windows 7 et Vista, trop tôt (avant le
E
est envoyé).SendWait("^({ESC}E)")
ouSend("^({ESC}E)")
Note à partir d'ici: http://msdn.microsoft.com/en-us/library/system.windows.forms.sendkeys.aspx
Noter que, puisque vous voulez
ESC
et (dire)E
est pressée en même temps, vous avez besoin de les enfermer dans des crochets.Alt+F4 ne fonctionne entre parenthèses
télécharger InputSimulator de package nuget.
puis écrire ceci:
dans mon cas, de créer de nouveaux vertial bureau, 3 clés nécessaires et le type de code(touche windows + ctrl + D):