Simuler le mouvement de la souris (C#)
Comment puis-je faire un petit programme qui continue de se déplacer la souris vers le haut?
Pour ceux qui voudraient savoir, tt est un minuscule à usage unique chose. Je suis en train de jouer Star Wars The Force Unleashed. Dans les versions de la console, vous maintenez le stick droit vers le haut. Dans le mauvais port de la console sur le PC, vous êtes à l'aide de votre souris. Peut-être vous pouvez comprendre ma frustration.
OriginalL'auteur Vivelin | 2009-12-22
Vous devez vous connecter pour publier un commentaire.
SetCursorPos
le ferons dans le code non managé. Je ne sais pas si il y a un .NET méthode de faire de même, mais vous pouvez toujours utiliser com interop. C'est dans User32.dllun peu de google à cette production comme un SetCursorPos équivalent .net
essayez-le, il génère WM_MOUSEMOVE événements comme un effet secondaire. (même si la souris n'est pas vraiment bouger, si je me souviens).
Eh bien, cela devrait faire l'affaire sans la nécessité de trouver la fenêtre du jeu.
yep, et aussi de ne pas entraîner le curseur quelque part différente de la dernière WM_MOUSEMOVE moessage que le jeu a obtenu
OriginalL'auteur John Knoeller
C'est un problème de programmation mécanique, pas CSharp.
et d'obtenir un bon marché à vitesse variable corded
de forage.
de percer, de l'envelopper avec du papier rayé,
et le régler à la vitesse la plus basse.
le corps de la perceuse qui va contenir le
souris avec son capteur de proximité de l'
filature rayé papier.
simuler un mouvement.
Pour exécuter le programme, positionnez l'interrupteur d'alimentation sur la bande de puissance de la perceuse est branchée sur.
Edit: si vous voulez plus de code portable, utiliser une perceuse sans fil. Piles non incluses.
+1 pour penser en dehors de la zone de
Il serait certainement mais ce n'est pas exactement la réponse que j'espérais. Merci, bien. 😉
OriginalL'auteur jball
Je ne connais pas le jeu mais en interne, windows envoie des messages pour le déplacement de la souris. Ceux-ci sont envoyés par le
SendMessage()
les appels de l'API de l'application. En C#, vous devez utiliser la même API Win32 directement ou peut-être par la création/envoi d'un événement? Vous ne savez pas comment envoyer un événement à une autre application en cours d'exécution.SendMessage() de l'API Win32 appel défini en C# ressemblerait à ceci:
J'estime qu'il est appel API pour obtenir toutes les fenêtres actives sur le système et leurs poignées... peut-être à la recherche pour qui?
-1 C'est une MAUVAISE idée. WM_MOUSEMOVE les messages sont la dernière étape d'une interaction complexe entre tirer un raw mouse_move événement de la file d'attente et plusieurs messages dans la fenêtre proc, y compris WM_NCHITTEST et WM_SETCURSOR. En contournant ces autres messages interrompre les applications qui ont même légèrement sophistiquée de la manipulation de la souris.
OriginalL'auteur Christian V
Avez-vous essayez d'utiliser une manette ou un joystick?
http://www.merconnet.com/product_info.php?products_id=44
OriginalL'auteur Woot4Moo