Fondamentalement, je veux simuler en code un utilisateur en cliquant sur la touche Windows. Je sais qu'il y a des envoisys qui me permettent d'envoyer des presses de touches à Windows si je reçois une poignée à eux, mais ce que je ne peux pas comprendre est ce que je dois obtenir une poignée afin d'envoyer des commandes de clé Windows. Par exemple. Touche Windows + L. Après avoir lu dans celui-ci un peu, il apparaît que CTRL-ESC doit apparaître le menu Démarrer également, mais je ne sais pas comment le dire d'envoyer les touches à Windows (si cela est même possible). Toute aide serait très appréciée. P>
acclamations! p>
4 Réponses :
Vous devez utiliser un crochet de clavier global pour accroître les claviers en dehors de votre application. Il y a un article sur la façon de le faire ici . P>
Incorrect. Ce n'est que si vous souhaitez écouter Keystrokes, pas si vous souhaitez envoyer des frappes de frappe.
Je ne pense pas que vous puissiez faire cela à l'aide de SendKeys, vous aurez besoin de p / invoquer à une fonction API à la place, probablement keybd_event pour envoyer soit CTRL + ESC ou la clé Windows. P>
ici est un exemple d'ouverture du menu Démarrer de cette façon dans VB et ici est keybd_event avec sa signature C # sur Pinvoke.net. p>
Certaines des choses qu'un utilisateur ferait via un raccourci gagnant peut être effectué par programme de manière programmatique d'une autre manière. Pour prendre votre exemple WinKey + L, vous pouvez simplement utiliser l'instruction suivante:
Process.Start("rundll32.exe", "user32.dll,LockWorkStation");
Dans votre déclaration ci-dessus, est-il possible de verrouiller un utilisateur spécifique si vous êtes dans une nettewrk de trois ordinateurs par exemple?
J'ai utilisé la classe fourni ici par user703016"> user703016 et a fonctionné bien!
pour ref: p> utilisé de cette manière: < / p>