我需要程序test.exe自我刪除,代碼如下
var
f:textfile;
begin
assignfile(f,'del.bat');
rewrite(f);
writeln(f,'del '+extractfilename(application.exename));
writeln(f,'del %0');
closefile(f);
winexec('del.bat',sw_hide);
application.Terminate;
end;
生成程序後自己雙擊執行,一切正常,程序也自己刪除了.
但在另外一個程序裡執行代碼winexec('C:\test.exe',sw_normal);
test.exe執行了但卻沒有自我刪除,請問為何會這樣?如何解決?
謝謝.
var
f:textfile;
begin
assignfile(f,'del.bat');
rewrite(f);
writeln(f,'del '+extractfilename(application.exename));
writeln(f,'del %0');
closefile(f);
winexec('del.bat',sw_hide);
application.Terminate;
end;
生成程序後自己雙擊執行,一切正常,程序也自己刪除了.
但在另外一個程序裡執行代碼winexec('C:\test.exe',sw_normal);
test.exe執行了但卻沒有自我刪除,請問為何會這樣?如何解決?
謝謝.
我執行代碼winexec('C:\test.exe',sw_normal);
test.exe有運行,只是沒有自我刪除而已.
自己雙擊'C:\test.exe',程序正常運行,可以自我刪除,
何解呢?
del.bat其实是没有执行的。如果你把另一个程序和test.exe一起放到C:\ 就可以删除了。
assignfile(f,'c:\\del.bat');
.....
winexec('c:\\del.bat',sw_hide);
已指定了路徑,為何結果還是一樣呢?如何解決?
請指教.
writeln(f,'del '+'c:\'+extractfilename(application.exename));