Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.27;
Скачать: CL | DM;

Вниз

Помогите справиться с хуками   Найти похожие ветки 

 
Korona ©   (2002-12-12 19:01) [0]

Начал разбираться с хуками: для начала с локальными. Но что то не поучается в приведенном ниже коде поставить хук на созданный процесс:
var
Form1: TForm1;
CurrentHook: HHOOK;
lpProcessInfo: PROCESS_INFORMATION;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
lpStartupInfo: STARTUPINFO;
begin
GetStartupInfo(lpStartupInfo);
CreateProcess(PChar("D:\Delphi 6\Projects\Test\Project1.exe"),nil,nil,nil,False,CREATE_NEW_PROCESS_GROUP,nil,nil,lpStartupInfo,lpProcessInfo);
end;

function MyProc(code: Integer; wParam: Word; lParam: Longword):Longword;stdcall;
begin
if code = HC_ACTION then
if TMsg(Pointer(lParam)^).message = WM_RBUTTONDOWN then
ShowMessage("ok");
Result := CallNextHookEx(CurrentHook,code,wParam,lParam);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
CurrentHook := SetWindowsHookEx(WH_GETMESSAGE,@MyProc,0,lpProcessInfo.dwThreadId);
if CurrentHook <> 0 then ShowMessage("Хук установлен") else ShowMessage("Хук не установлен");
end;

Укажите где ошибаюсь?


 
Song ©   (2002-12-12 20:23) [1]

Ошибаешься в lpProcessInfo.dwThreadId Это чего такое?
Ты пытаешься поставить хук на внешнее приложение, которое запускаешь из своего? И хочешь чтобы хук обрабатывался тем приложением, а его call-back ф-ия была в твоём? Какой же это локальный хук?



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

Текущий архив: 2003.01.27;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.013 c
1-86829
trotski
2003-01-16 17:59
2003.01.27
array of shortint


3-86709
Соловьев
2003-01-09 12:23
2003.01.27
BatchMove не работает с вычисляемым полем!


14-87134
Дмитрий К.К.
2003-01-10 06:09
2003.01.27
Именинники 10 января


8-86973
ivankor
2002-10-11 15:02
2003.01.27
Как перевести данные TMemoryStream


7-87156
Format
2002-10-26 22:08
2003.01.27
Вандальные юзеры