Ctrl+Alt+Del | |
---|---|
rud Автор Сообщений: 640 Откуда: Москва Дата регистрации: 02.09.2000 |
Есть потребность в определенном месте приложения отрубить пользователю возможность управления машиной путем нажатия клавиш Ctrl+Alt+Del. Естественно с последующим восстановлением такой возможности. Команда On key label Ctrl+Alt+Del ... выдает сообщение об ошибке. Как нибудь эта задача в VFP решается?
|
Re: Ctrl+Alt+Del | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
А если так:
on key label CTRL note on key label ALT note on key label DEL note |
Re: Ctrl+Alt+Del | |
---|---|
YuriWhite Сообщений: 558 Откуда: Челябинск Дата регистрации: 02.09.2000 |
Объясняю (вкратце)
Под всеми NT ( и их клонами ) это нажатие не перехватить!Другие комбинации типа Alt+Tab можно. Это делается при помощи Хуков ( SetWindowsHookEx ). Дале MSDN. ------------------ Жаль что пароходы не летают... |
Re: Ctrl+Alt+Del | |
---|---|
Божья_коровка Сообщений: 25731 Дата регистрации: 23.08.2001 |
Цитата:А можно по подробнее про эти хуки? |
Re: Ctrl+Alt+Del | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
не знай, какая ОСь у афтора, но если Вынь9х, то вота должно помочь
------------------ Осторожно - глисты! |
Re: Ctrl+Alt+Del | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Под Win2K эта фича не работает
Цитата: ------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
Re: Ctrl+Alt+Del | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
дык я и не спорю
------------------ Осторожно - глисты! |
Re: Ctrl+Alt+Del | |
---|---|
YuriWhite Сообщений: 558 Откуда: Челябинск Дата регистрации: 02.09.2000 |
Есть книжка Рихтера очень там про ето все расписано.
А вообще то ... hhkLowLevelKybd = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0); Это в WinMain Это собсно сам обработчик ( писал не я ) LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam) { BOOL fEatKeystroke = FALSE; if (nCode == HC_ACTION) { switch (wParam) { case WM_KEYDOWN: case WM_SYSKEYDOWN: case WM_KEYUP: case WM_SYSKEYUP: PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) lParam; fEatKeystroke = ( (p->vkCode == VK_TAB) && ((p->flags & LLKHF_ALTDOWN) != 0) ) \ || ( (p->vkCode == VK_ESCAPE) && ((p->flags & LLKHF_ALTDOWN) != 0) ) \ || ( (p->vkCode == VK_ESCAPE) && ((GetKeyState(VK_CONTROL) & 0x8000) != 0) )\ || ( (p->vkCode == 46) && ( (p->flags & LLKHF_ALTDOWN) != 0 ) \ && ( (GetKeyState(VK_CONTROL) & 0x8000) != 0)\ || ( (p->vkCode == 0x45) && ((GetKeyState(VK_LWIN) & 0x8000) != 0))\ || ((GetKeyState(VK_LWIN) & 0x8000) != 0)); //its possible to add other keys.... //the 46 means del break; } } return(fEatKeystroke ? 1 : CallNextHookEx(NULL, nCode, wParam, lParam)); } ------------------ Жаль что пароходы не летают... |
Re: Ctrl+Alt+Del | |
---|---|
Hel!Riser Сообщений: 10452 Откуда: Нижний Новгород Дата регистрации: 11.03.2001 |
[sm106] хук справа, хук слева [sm108]
------------------ Осторожно - глисты! |
Re: Ctrl+Alt+Del | |
---|---|
piva Сообщений: 18655 Откуда: Курган Дата регистрации: 24.03.2004 |
Кстати пробовал такую фичу - rundll32.exe user.exe,disableoemlayer - вроде ничего не заметил, хотя 9x валилось влет. Потом уже заметил что система работает как-то непонятно, то файлы не находит, то дуркует. Оказалось что фича какая-то эстоноская - медленно - но доходит
------------------ Часто бывает так, что есть над чем задуматься, а нечем. |
© 2000-2024 Fox Club  |