![]() |
SendMessage() win API
Как послать комбинацию из двух клавиш.
То есть Ctrl + Q, либо другую комбинацию. SendMessage(hnd, WM_KEYDOWN, VK_CONTROL, 1); SendMessage(hnd, WM_KEYDOWN, $51, 1); SendMessage(hnd, WM_KEYUP, $51, 1); SendMessage(hnd, WM_KEYUP, VK_CONTROL, 1); Это не работает :( Что-нибуть посоветуйте. Спасибо. |
И не должно! Как проверять нажатие клавиш будешь? GetKeyState(). Поэтому AttachThreadInput и SetKeyState, а потом SendMessage(hwnd, WM_KEYDOWN, 'Q', 0)
|
Два варианта:
В 9x: BYTE KeyboardState[256]; GetKeyboardState(KeyboardState); KeyboardState[VK_NUMLOCK] = KeyboardState[VK_NUMLOCK] ^ 1; SetKeyboardState(KeyboardState); В NT/2000/XP : keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | 0, 0 ); keybd_event( VK_NUMLOCK, 0x45, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0); |
Спасибо ребята, буду пробывать.
|
Время: 05:20. |
Время: 05:20.
© OSzone.net 2001-