Главная страница
    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
14-1081665335
Afn
2004-04-11 10:35
2004.05.02
Web Money


6-1078637445
Scorp2
2004-03-07 08:30
2004.05.02
Как узнать есть ли соединение с интернетом?


9-1068816464
Stas
2003-11-14 16:27
2004.05.02
Как нарисовать куб используя OpenGl


6-1078833851
LAndreyV
2004-03-09 15:04
2004.05.02
Время запроса при скачивании HTML


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