Форум: "WinAPI";
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];
ВнизКакой ресурс в NT жестко ассоциирован с хэндлом со значением 4 ? Найти похожие ветки
← →
paul_shmakov (2001-11-07 20:51) [14]ну и для любителей delphi
{
test.pas
deletes itself. winnt only
dcc32 test.pas
}
program test;
uses Windows;
var
FileName: PChar;
hkrnl: HMODULE;
pUnmapViewOfFile: Pointer;
pDeleteFile: Pointer;
pExitProcess: 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");
pExitProcess := GetProcAddress(hkrnl, "ExitProcess");
pCloseHandle := GetProcAddress(hkrnl, "CloseHandle");
hInstance := Cardinal(GetModuleHandle(nil));
asm
push 0
mov eax, FileName
push eax
push pExitProcess
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