Главная страница
    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.033 c
8-1074610714
Laumer
2004-01-20 17:58
2004.05.02
Как выключить другие звуки и вывести свой


6-1076015637
DDS
2004-02-06 00:13
2004.05.02
О том как добавить свой пункт в меню IE?


1-1081848210
Cyxapeff
2004-04-13 13:23
2004.05.02
FindText


1-1081770200
__oleg
2004-04-12 15:43
2004.05.02
Координаты окна


14-1081451676
Yanis
2004-04-08 23:14
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский