Je travaille sur un projet qui doit émuler une touche de la touche Windows. J'ai essayé SendKeys.Send en vain. En particulier, la touche Windows doit être associée à un bouton. C'est, je veux envoyer Windows Key et plus/moins.Comment envoyer les codes de balayage du clavier manuellement?
Répondre
Cela peut être exagéré, mais vous pouvez essayer d'utiliser AutoItX qui est un moyen d'utiliser AutoIt en tant que DLL. Je n'ai écrit que des scripts autonomes, mais je sais que AutoIt facilite la simulation en appuyant sur la touche Windows.
Par exemple, pour ouvrir la boîte de dialogue d'exécution est juste:
Envoyer ("# r"); Win + R = marche
Essayez SendInput ou plus keybd_event
Je pense que votre meilleur pari utilise keybd_event keydown (appelé ExtendedKey) avec la valeur Lwin du System.Windows.Forms.Keys ENUM, puis keydown second caractère (+) et KeyUp les deux touches.
Je ne crois pas que SendKeys fonctionne avec la touche Windows comme modificateur.
Je voudrais ajouter qu'il est souvent peu probable que vous trouviez des fonctions de niveau inférieur comme celles-ci dans le framework .NET. Si vous étiez confus quant à la raison pour laquelle les suggestions indiquaient des fonctions "non C#", vous pourriez probablement utiliser certains détails sur P/Invoke. Fondamentalement, il existe des moyens de définir des fonctions C# qui les "lient" à des fonctions API Windows qui n'existent pas dans les assemblys .NET (elles sont généralement implémentées en C++ et disponibles en tant que DLL standard). Ce processus est considéré comme "Invocation de plate-forme (Windows)" (donc P/Invoke).
Il peut être un peu bancal au début de faire correspondre tous les types de données entre les appels de style C++ et C#, mais heureusement, il y en a d'autres qui ont ouvert la voie. La fonction suggérée, SendInput, a une PInvoke wrapper à PInvoke.net. Cette classe wrapper, lorsqu'elle est disponible dans votre assembly, vous permet d'appeler SendInput comme s'il s'agissait d'une fonction C#. PInvoke.net est essentiellement un wiki PInvoke pour les appels d'API bien connus dans Windows, et a généralement un wrapper C#/VB.NET d'appels API.
- 1. Quels sont les codes de balayage pour:
- 2. Gestion des codes de balayage du clavier directement dans l'événement VB KeyPress
- 3. envoyer des données à un ForeignKey manuellement?
- 4. Comment tester les événements du clavier jQuery?
- 5. Saisir les touches du clavier
- 6. Les codes d'état du shell en make
- 7. Envoyer un formulaire ajax à la fermeture du clavier sans bouton Envoyer sur l'iPhone?
- 8. Le moteur de balayage du site web de Backlink-reporting?
- 9. Différence entre les codes d'état et les codes d'erreur
- 10. Comment remplacer les caractères spéciaux xml manuellement?
- 11. Hiding du clavier
- 12. Comment identifier les touches du clavier en utilisant C#
- 13. arêtes de commande pour l'algorithme de balayage
- 14. Codes de démarrage du codec vidéo
- 15. Comment exécuter les codes Op Dalvik
- 16. Personnalisation du clavier de l'iPhone
- 17. Entrée du clavier C# en cours d'envoi
- 18. Qt - Disposition du clavier
- 19. Combiner la combinaison du clavier
- 20. Regex pour valider les codes postaux du Royaume-Uni
- 21. Test du 'Ctrl' du clavier en C#
- 22. texte Changement de touche du clavier « Retour »
- 23. Comment masquer les codes d'échappement couleur ANSI de fmt
- 24. Expression régulière incluant tous les caractères du clavier sauf '~' et ','
- 25. Temps de trajet entre les codes postaux
- 26. Attraper les codes de retour dans les environnements de production?
- 27. exécution WPF routé manuellement les commandes
- 28. Détection des crochets du clavier
- 29. Comment gérer les raccourcis clavier contradictoires
- 30. envoyer les paramètres de drop_receiving_element