2010-02-17 16 views
1

Je développe une application qui automatise certaines tâches simples dans Virtual PC. Maintenant, je suis confronté à un problème: je ne peux pas comprendre comment je peux manipuler la souris à l'intérieur de VPC. Je fais quelque chose comme ceci:Manipulation de la souris dans Virtual PC

HWND hDW = (HWND)0x000B03E0; // handle to virtual machine screen  

int x = 70; 
int y = 130; 

SendMessage(hDW, WM_LBUTTONDOWN, MK_LBUTTON, MAKELPARAM(x, y)); 
SendMessage(hDW, WM_LBUTTONUP, MK_LBUTTON, MAKELPARAM(x, y)); 

SendMessage(hDW, WM_RBUTTONDOWN, MK_RBUTTON, MAKELPARAM(x, y)); 
SendMessage(hDW, WM_RBUTTONUP, MK_RBUTTON, MAKELPARAM(x, y)); 

Mais cela ne fonctionne pas. Quelqu'un peut-il me montrer comment effectuer cette tâche?

Répondre

1

Cela pourrait être ce que vous recherchez.

J'ai utilisé le mouse_input pour faire ce que vous cherchez mais il semble que ce soit obsolète et que vous devriez utiliser le SendInput à la place.

mouse_input

SendInput

EDIT:

vous pouvez cacher le curseur pendant le mouvement comme ce (reference)

SetCrusor(GetCursor()); 
ShowCursor(false); 
// SendInput() move mouse do stuff 
ShowCursor(true); 
+0

Merci corn3lius. SendInput fonctionne, mais il y a un problème avec cela: j'ai besoin de déplacer le curseur de la souris à la position, où je veux effectuer un clic. Comment puis-je le faire sans déplacer le curseur de la souris? –

+0

voir les modifications dans la publication. – corn3lius