Форум: "WinAPI";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
ВнизКакой ресурс в NT жестко ассоциирован с хэндлом со значением 4 ? Найти похожие ветки
← →
paul_shmakov (2001-11-09 14:39) [25]а зачем нам Application? я же предлагаю перехватывать ExitProcess своей процедурой примерно такого содержания:
procedure OurExitProcess(uExitCode: UINT); stdcall;
var
FileName: PChar;
hkrnl: HMODULE;
pUnmapViewOfFile: Pointer;
pDeleteFile: Pointer;
pCloseHandle: Pointer;
hInstance: Cardinal;
begin
{ используем динамически выделяемую память из кучи, потому как иначе
компилятор размещает массив FileName вовсе не в стеке потока }
FileName := HeapAlloc(GetProcessHeap, 0, MAX_PATH);
GetModuleFileName(GetModuleHandle(nil), FileName, MAX_PATH);
hkrnl := GetModuleHandle("kernel32.dll");
pUnmapViewOfFile := GetProcAddress(hkrnl, "UnmapViewOfFile");
pDeleteFile := GetProcAddress(hkrnl, "DeleteFileA");
pCloseHandle := GetProcAddress(hkrnl, "CloseHandle");
hInstance := Cardinal(GetModuleHandle(nil));
asm
push 0
mov eax, FileName
push eax
push pOriginalExitProcess // !!!!!!!!!!!!!!!!!!!!
push 4
push pDeleteFile
push hInstance
push pCloseHandle
push pUnmapViewOfFile
ret
end;
end.
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c