Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Вниз

Любители хуков и клавиатурных шпионов ! 


ATLANTIDO   (2002-02-05 01:12) [0]

Любители хуков и клавиатурных шпионов !
Будет работать такой код (для отловки нажатий на клавиши)?

Попробуйте сделать это следующим образом:
type
TForm1 = class(TForm)
...
private
procedure WMNCActivate(var Msg: TMessage); message WM_NCACTIVATE;
end;
procedure TForm1.WMNCActivate(var Msg: TMessage);
begin
{ здесь обработка принятых событий }
end;

Заранее благодарен.



ggrisha   (2002-02-05 09:46) [1]

Как по твоему событие активации окна поможет перехватывать клавишы?



Fellomena   (2002-02-05 13:55) [2]

нет не будет.
Для отлова нажатий клавишь в ТВОЁМ приложении нужно либо делать подмену ПроцедурыОкна либо (перехват ВСЕХ сообщений и синхронных и асинхронных, т.е. и PostMessage и SendMessage) либо Application.OnMessage:= MyApp(); - это только из Очереди которые (PostMessage). Короче, направление, думаю, ясно...



AlexRush   (2002-02-05 13:56) [3]

{
Вот тебе пример рабочего кода, который блокирыет ввод с клавы и мышы. Это текст .DPR файла
}

program InputLocker;

USES Windows;

function KeybProc(nCode:integer;
key:DWORD;
state:DWORD):LRESULT;stdcall;
begin
result:=128500;{ Любое НЕнулувое значение - запрет на использование сообщения }
end;

TYPE PMOUSEHOOKSTRUCT = ^MOUSEHOOKSTRUCT;
function MouseProc(nCode:integer;
WM_Mmsg:DWORD;
ptrMHS:PMOUSEHOOKSTRUCT):LRESULT;stdcall;
begin
result:=128500;
end;

VAR hKeybHook,
hMouseHook:DWORD;
msg:tagMSG;

BEGIN
hKeybHook:=SetWindowsHookExA(WH_KEYBOARD,@KeybProc,HINSTANCE,0);
hMouseHook:=SetWindowsHookExA(WH_MOUSE,@MouseProc,HINSTANCE,0);

while GetMessage(msg,0,0,0) do ;

UnhookWindowsHookEx(hKeybHook);
UnhookWindowsHookEx(hMouseHook);
END.




ATLANTIDO   (2002-02-07 01:06) [4]

Спасибо всем !




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.02 c
1-22737           snoup                 2002-03-26 13:45  2002.04.08  
Как сделать например мне нужно что бы я пороботал в программе изменил там что то


14-22820          Baz                   2002-02-27 09:27  2002.04.08  
ФАКТОРНЫЙ АНАЛИЗ


7-22862           Garrison              2001-12-14 17:14  2002.04.08  
Большие числа


1-22694           IronHawk              2002-03-26 14:58  2002.04.08  
Как сохранить текст из Едита в Файл без метки перевода каретки (конца строки)?


14-22836          BJValentine           2002-02-13 22:29  2002.04.08  
Почта