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

Вниз

хук на запуск файлов   Найти похожие ветки 

 
trw   (2010-08-07 21:19) [0]

function HookProc(Code: Integer; WParam: WPARAM; LParam: LPARAM): LRESULT;stdcall;
var
WndHeader:array[0..MAX_PATH-1] of char;
begin
 if Code>=0 then
 begin
  case Code of
    HCBT_CREATEWND:
      if (IsWindow(wParam) and (PCBTCreateWnd(lParam)^.lpcs^.hwndParent=0) and
      (lstrlen(PCBTCreateWnd(lParam)^.lpcs^.lpszName)>0)) then
       SaveLog("[Open] "+PCBTCreateWnd(lParam)^.lpcs^.lpszClass);

    HCBT_DESTROYWND:
     if (IsWindow(wParam) and IsWindowVisible(wParam) and (GetParent(wParam)=0))  then
     begin
      GetWindowText(wParam,WndHeader,MAX_PATH);
      if (WndHeader<>"")then
      SaveLog("[Close] "+WndHeader);
     end
  end;
  Result := 0;
end else
Result := CallNextHookEx(HookData^.OldHook, Code, WParam, LParam);
end;

function SetHook(Wnd: HWND): BOOL; stdcall;
begin
 if HookData <> nil then
 begin
   HookData^.AppWnd := Wnd;
   HookData^.OldHook := SetWindowsHookEx(WH_CBT, HookProc, HInstance, 0);
   Result:=HookData^.OldHook <> 0;
 end else
  Result:=False;
end;


захватывает только lpszName тс. имя файла, как выводить полный путь к файлу и его класс.


 
Дмитрий С ©   (2010-08-09 12:31) [1]

Это хук на создание окон, а не запуск программ.
И что такое класс программы?

http://forum.vingrad.ru/topic-82316.html



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

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

Наверх




Память: 0.46 MB
Время: 0.004 c
1-1348219869
Дмитрий Белькевич
2012-09-21 13:31
2017.02.12
Замена Vista-style dialogs TTaskDialog


3-1311924368
yurikon
2011-07-29 11:26
2017.02.12
Обратиться к датасету через имя


15-1457472038
Kilkennycat
2016-03-09 00:20
2017.02.12
Что делает эта штуковина?


15-1458040316
Drowsy
2016-03-15 14:11
2017.02.12
Переводчик


2-1433331962
guest
2015-06-03 14:46
2017.02.12
интерактивность сервиса на лету...