Страница 1 из 1

Как программно нажать кнопку

Добавлено: 22 апр 2008, 07:25
Dr_Grizzly
Всем привет! Вот этот код - if getasynckeystate(1)<>0 then отловит нажатие левой кнопки мыши, а как заставить нажать ее?

mouse_event(MOUSEEVENTF_LEFTDOWN,MOUSEEVENTF_ABSOLUTE,MOUSEEVENTF_ABSOLUTE,0,0);
mouse_event(MOUSEEVENTF_LEFTUP,MOUSEEVENTF_ABSOLUTE,MOUSEEVENTF_ABSOLUTE,0,0);


тот код кликнет левой кнопкой мыши, но меня ща не мышь интересует, а клава )) Как с имитировать нажатие кнопки на клаве?

Re: Как программно нажать кнопку

Добавлено: 22 апр 2008, 09:51
BBB
Есть такие функции WinAPI, как keybd_event, mouse_event, SendInput.
Сам не пробовал, но по описанию похоже на то, что Вам нужно.

SendInput: The SendInput function synthesizes keystrokes, mouse motions, and button clicks.
mouse_event: The mouse_event function synthesizes mouse motion and button clicks.
keybd_event: The keybd_event function synthesizes a keystroke.

А, вот еще примечание для keybd_event и mouse_event:
Windows NT/2000/XP: This function has been superseded. Use SendInput instead.

Re: Как программно нажать кнопку

Добавлено: 22 апр 2008, 11:22
Dr_Grizzly
Ай, маладца! Спасибо! Вот какой код должен получится )))

keybd_event(Ord('E'), MapVirtualKey(Ord('E'), 0), 0, 0);
keybd_event(Ord('E'), MapVirtualKey(Ord('E'), 0), KEYEVENTF_KEYUP, 0);

Нажмет и отпустить клавишу Е