俺就最后50分了,55555(50分)

  • 主题发起人 主题发起人 Alix
  • 开始时间 开始时间
A

Alix

Unregistered / Unconfirmed
GUEST, unregistred user!
俺有一个小题目,俺搞了一个星期也没戏,真闷,先请高人点化。可别嫌钱少,
;俺的口袋已空。
问题:请用DELPHI和VC编一个运行后能删除自己的程序(自杀程序)?
注释:我用了atexit( ),在TURBOC可以实现,但在vc中却不能(我还试了oneexit(),
spawnl(),execl() 等等,搞了许久没戏,运行它只说ACCESS DENIED。是不是做32位的
程序都有这种文件保护?) GZ
 
给你一段代码
;procedure DeleteMe;
var
; BatchFile: TextFile;
; BatchFileName: string;
; ProcessInfo: TProcessInformation;
; StartUpInfo: TStartupInfo;
begin
; BatchFileName := changefileext(paramstr(0),'.bat');

; AssignFile(BatchFile, BatchFileName);
; Rewrite(BatchFile);

; Writeln(BatchFile, ':try');
; Writeln(BatchFile, 'del "' + ParamStr(0) + '"');
; Writeln(BatchFile, 'if exist "' + ParamStr(0) + '"' + ' goto try');
; Writeln(BatchFile, 'del %0');
; CloseFile(BatchFile);

; FillChar(StartUpInfo, SizeOf(StartUpInfo), $00);
; StartUpInfo.dwFlags := STARTF_USESHOWWINDOW;
; StartUpInfo.wShowWindow := SW_HIDE;

; if CreateProcess(nil, PChar(BatchFileName), nil, nil,False,
IDLE_PRIORITY_CLASS,nil, nil, StartUpInfo,ProcessInfo) then
; begin
; ; CloseHandle(ProcessInfo.hThread);
; ; CloseHandle(ProcessInfo.hProcess);
; end;
end;
 
有点意思,关注!
 
谢谢SOFTBOY兄,再烦:是在onclose 或onexit 执行吗?
不好意思,我身边现在没delphi使
 
是在你应用程序退出(onclose)的时候。
 
vc 该怎么做?它编译是OK的,运行后就是不能自杀
 
接受答案了.
 
后退
顶部