本文整理自网络,侵删。
DELPHI程序删除自己
引用procedure DeleteSelf;
var
pExitProcess: Pointer;
pDeleteFile: Pointer;
pUnmapViewOfFile: Pointer;
hModule: THANDLE;
cBuf:array[0..MAX_PATH]of Char;
begin
hModule := GetModuleHandle('kernel32');
if hModule <> 0 then
begin
pExitProcess := GetProcAddress(hModule, 'ExitProcess');
pDeleteFile := GetProcAddress(hModule, 'DeleteFileA');
pUnmapViewOfFile := GetProcAddress(hModule, 'UnmapViewOfFile');
end else
begin
pExitProcess := nil;
pDeleteFile := nil;
pUnmapViewOfFile := nil;
end;
hModule := GetModuleHandle(nil);
GetModuleFileName(hModule, cBuf, Sizeof(cBuf));
CloseHandle(THANDLE(4));
asm
XOR EAX, EAX;
PUSH EAX;
PUSH EAX;
LEA EAX, cBuf;
PUSH EAX;
MOV EAX, pExitProcess; PUSH EAX; MOV EAX, hModule; PUSH EAX; MOV EAX, pDeleteFile;
PUSH EAX;
MOV EAX, pUnmapViewOfFile;
PUSH EAX;
RET;
end;
end;
相关阅读 >>
Delphi ini 文件操作记要: 使用 tmeminifile
Delphi 使用webbrowser控件获取含框架的网页的完整html代码
Delphi 新增功能之: ioutils 单元(7): tfile 结构的功能
更多相关阅读请进入《Delphi》频道 >>