如何令程序重新运行自己! 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 procedure TForm1.BitBtn1Click(Sender: TObject);begin application.Terminate; winexec(pchar(application.ExeName),1);end; so esay关闭时,执行一个.bat 比如a.bat里面写上 @ECHO OFF"E:\wild\Map_030819\ELESEA.exe" 你程序的全路径" DEL a.bat" 删除这个bat 这个是病毒常用的技俩:)或者再做个程序restart.exe关闭时调用这个程序让restart.exe来重新启动你的程序。 在关闭之前先SHELLEXECUTE或WINEXEC自己,也就是说,在自己关闭之前,已经有2个实例在运行了。然后关闭自己,保留后来的实例。 我的思路是程序A运行的时候会检查启动一个程序B,并且把状态写入一个dat文件,如果程序A非法关闭了,则dat文件中的状态并未被删除掉,则程序B监控到,并且重新启动A.腾讯似乎就是这么做的. 我胡说的,自己没有动手做过,不过思路应该没多大问题.如果不小心程序B也被关闭了,那就没法监控到,所以QQ并不是每次崩溃都会自己重新启动的。:)经常玩QQ玩出来的经验; var s:string;begin s:=Application.ExeName; Close; ShellExecute(application.Handle,pchar('Open'),pchar(s),nil,nil,SW_SHOW);end; 在主form的form_close事件里winexec('.\你的exe') 请问一下TChart中如何同时显示两条线 大家觉的用Delphi开发环境用什么操作系统好啊? 请教下 TdxDBtreelist 如何获取多选? 100给你 数据库编程有疑难,快来解决啊 请问关于ini,Key名重新排序的问题 如何再opendialog中获得不包含路径的文件名? 急,急,急,不够再加分!我做通过mscomm与考勤机进行通讯,把一个tmp表中的数据写入考勤机中,第一次下传是成功的,第二次下传后,考勤 serversocket如何拒绝clientsocket的连接 大家是怎么做进度条的 打印预览问题?(Nizvoo) 请问怎样判断dbgrid里的纪录被选中了? 高手帮忙!!!
begin
application.Terminate;
winexec(pchar(application.ExeName),1);
end;
关闭时,执行一个.bat 比如a.bat
里面写上
@ECHO OFF
"E:\wild\Map_030819\ELESEA.exe" 你程序的全路径
" DEL a.bat" 删除这个bat 这个是病毒常用的技俩:)或者再做个程序
restart.exe关闭时调用这个程序
让restart.exe来重新启动你的程序。
腾讯似乎就是这么做的.
如果不小心程序B也被关闭了,那就没法监控到,所以QQ并不是每次崩溃都会自己重新启动的。
:)
经常玩QQ玩出来的经验;
s:string;
begin
s:=Application.ExeName;
Close;
ShellExecute(application.Handle,pchar('Open'),pchar(s),nil,nil,SW_SHOW);
end;
winexec('.\你的exe')