![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отключить сочетание клавиш
123123 © (2009-10-14 12:07:00)Здраствуйте!
Есть задача отключить сочетание клавиш "CTRL+ALT+DEL", "ALT+TAB", "CTRL+ESC", так вот во всех примерах показывается что надо включить экранную заставку:
SystemParametersInfo(SPI_SCREENSAVERRUNNING, 1, 0, 0);
Но у меня он не включается (возвращает false), операционая система Vista, есть ли какой-нибудь другой способ?
DVM (2009-10-14 20:50:00) [1]
> Инна (14.10.09 20:00) [10]
У меня видимо сначала стоял касперский, теперь нод32, никогда проблем с использованием ловушек не испытывал. Дрючат не за ловушки, а за деятельность, похожую на кейлоггер. Ловушка это только часть такой деятельности.
Инна (2009-10-14 20:00:00) [2]
> За хуки не дрючат :)
ещо как, сразу в кейлогеры попадают
а у тебя видимо аваст стоит...
DVM (2009-10-14 19:49:00) [3]
> Инна (14.10.09 19:38) [6]
> каждый антивир будет дрючить
За хуки не дрючат :)
Игорь Шевченко (2009-10-14 19:44:00) [4]
> Рихтер свою книгу по Делфи все ещё пишет :)
В стол
Германн (2009-10-14 19:42:00) [5]
> Все вопросы к Рихтеру :)
Рихтер свою книгу по Делфи все ещё пишет :)
Инна (2009-10-14 19:38:00) [6]ну поставит он хук, и че ?
каждый антивир будет дрючить
DVM (2009-10-14 19:36:00) [7]
> faiwer © (14.10.09 19:32) [4]
Все вопросы к Рихтеру :)
faiwer (2009-10-14 19:32:00) [8]DVM, а мож он вирусню на делфи пишет =)
DVM (2009-10-14 16:46:00) [9]CAD будем считать, что не отключить. Да и незачем это.
DVM (2009-10-14 16:45:00) [10]
{******************************************************************************}
{* Module: DisableLowLevelKeys.cpp *}
{* Notices: Written 2000 Jeffrey Richter *}
{* *}
{* Translated by: Dmitry Muratov *}
{* 2008 *}
{******************************************************************************}
program DisableLowLevelKeys;
uses
Windows, Messages;
const
LLKHF_ALTDOWN = KF_ALTDOWN shr 8;
WH_KEYBOARD_LL = 13;
type
TKBDLLHOOKSTRUCT = record
vkCode: DWORD;
scanCode: DWORD;
flags: DWORD;
time: DWORD;
dwExtraInfo: DWORD;
end;
PKBDLLHOOKSTRUCT = ^TKBDLLHOOKSTRUCT;
var
hhkLowLevelKybd: HHOOK;
//------------------------------------------------------------------------------
function LowLevelKeyboardProc(nCode: integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
fEatKeystroke: boolean;
p: PKBDLLHOOKSTRUCT;
begin
fEatKeystroke := false;
if nCode = HC_ACTION then
begin
case wParam of
WM_KEYDOWN,
WM_SYSKEYDOWN,
WM_KEYUP,
WM_SYSKEYUP:
begin
p := PKBDLLHOOKSTRUCT(lParam);
fEatKeystroke := ((p^.vkCode = VK_LWIN) or (p^.vkCode = VK_RWIN)) or
((p^.vkCode = VK_TAB) and ((p^.flags and LLKHF_ALTDOWN) 0)) or
((p^.vkCode = VK_ESCAPE) and ((p^.flags and LLKHF_ALTDOWN) 0)) or
((p^.vkCode = VK_ESCAPE) and ((GetKeyState(VK_CONTROL) and $8000) 0)) or
((p^.vkCode = VK_F4) and ((p^.flags and LLKHF_ALTDOWN) 0));
end;
end;
end;
if fEatKeystroke then
result := 1
else
result := CallNextHookEx(0, nCode, wParam, lParam);
end;
//------------------------------------------------------------------------------
begin
// Install the low-level keyboard & mouse hooks
hhkLowLevelKybd := SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, hInstance, 0);
// Keep this app running until we're told to stop
MessageBox(0,
PChar('Alt+Esc, Ctrl+Esc, WIN, Alt+F4, and Alt+Tab are now disabled.' + #13#10 +
'Click "Ok" to terminate this application and re-enable these keys.'),
PChar('Disable Low-Level Keys'),
MB_OK);
// Remove hooks
UnhookWindowsHookEx(hhkLowLevelKybd);
end.
Инна (2009-10-14 14:52:00) [11]а зачем
если у тебя полноэкранка на директХ то там опция есть
а если скрываешся от менеджера задач, то его и так можно запустить