Форум: "WinAPI";
Текущий архив: 2017.02.12;
Скачать: [xml.tar.bz2];
Внизхук на запуск файлов Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2017.02.12;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.002 c