|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 27, 2003 14:12:54 Помогите простым примерчиком по установке резидентного обработчика определенного сочетания клавиш (хочу разобраться). |
|
|
Дата: Мар 28, 2003 03:47:28 OS? |
|
|
Дата: Мар 28, 2003 09:22:02 OS = WIN98 или WIN2000 (извините что не уточнил сразу). |
|
|
Дата: Мар 28, 2003 09:33:15 Извините ,скорее OS = WIN98 и WIN2000 |
|
|
Дата: Мар 28, 2003 10:53:07 Я конечно мог догадаться, т.к. тема в ветке WASM.WIN32, но меня ввел в заблуждение DOS'овский термин "резидентный обработчик". Под win32 самый простой вариант - это RegisterHotKey. Чуть сложнее (т.е. требует более аккуратного программирования) устанавливать hook на клавиатуру – SetWindowsHookEx + WH_KEYBOARD_LL / WH_KEYBOARD_LL. |
|
|
Дата: Мар 28, 2003 14:05:49 WH_KEYBOARD_LL только под NT/2000/XP. |
|
|
Дата: Мар 31, 2003 04:20:43 Хотел написать WH_KEYBOARD / WH_KEYBOARD_LL. |
|
|
Дата: Мар 31, 2003 09:54:44 ... можно примерчик с RegisterHotKey или с установкой hook на клавиатуру ? :) |
|
|
Дата: Мар 31, 2003 10:58:58 1. RegisterHotKey: [code] // оконная процедура LRESULT CALLBACK MyWndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { static BOOL bIsReg = FALSE; static int id = 1; switch (msg) { case WM_CREATE: bIsReg = RegisterHotKey(hWnd, id, 0, VK_RETURN); if (FALSE == bIsReg) MessageBox(hWnd, TEXT("RegisterHotKey failed."), TEXT("hi"), MB_OK); return 0; case WM_HOTKEY: MessageBox(NULL, TEXT("WM_HOTKEY"), TEXT("hi"), MB_OK); break; case WM_DESTROY: if (FALSE != bIsReg) { bIsReg = FALSE; UnregisterHotKey(hWnd, id); } PostQuitMessage(0); return 0; } return DefWindowProc(hWnd, msg, wParam, lParam); } [/code] 2. SetWindowsHookEx: Посмотрите Using Hooks там внизу Show Example. |
|
|
Дата: Мар 31, 2003 13:36:05 Спасибо. Пошел разбираться :) |
|
|
Дата: Апр 10, 2003 02:14:08 Это можно сДелать и без хуков, API GetAsyncKeyState, при событии таймера.... легче некуда.... |
|
|
Дата: Апр 10, 2003 04:09:29 RUBan0k при событии таймера.... легче некуда.... Тогда уж лучше в отдельном потоке. |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.087 |