2010-02-17 1 views
1

Я разрабатываю приложение, которое автоматизирует некоторые простые задачи внутри виртуального ПК. Теперь я столкнулся с проблемой: я не могу понять, как я могу манипулировать мышью внутри VPC. Я делаю что-то вроде этого:Мышь манипуляции внутри виртуального ПК

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)); 

Но это не работает. Может ли кто-нибудь показать мне, как выполнить эту задачу?

ответ

1

Это может быть то, что вы ищете.

Я использовал mouse_input, чтобы сделать то, что вы ищете, но, похоже, это устарело, и вместо этого вы должны использовать SendInput.

mouse_input

SendInput

EDIT:

можно скрыть курсор во время движения, как это (reference)

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

Благодаря corn3lius. SendInput работает, но есть одна проблема: мне нужно переместить курсор мыши в позицию, где я хочу выполнить щелчок. Как я могу это сделать без фактического перемещения курсора мыши? – 2010-02-17 17:54:28

+0

см. Редактирование в сообщении. – corn3lius