如何让程序关闭后自己启动。
高手帮忙!

解决方案 »

  1.   

    这个就是你启动程序的进候写入注册表!你可以调用API函数的,如果是Win2k以上的操作系统就需写钩子函数(不过在网上也有的)或者做DLL文件!
      

  2.   

    procedure TForm1.FormDestroy(Sender: TObject);
    begin
      WinExec(PChar(ParamStr(0)), sw_show);
    end;
      

  3.   

    我有代码,可你给你,
     [email protected]
      检测程序,可你关闭你制定的程序, 当然打开就好说了
      

  4.   

    用个timer监控你窗口的handle,如果不存在再启动一个不就行了
      

  5.   

    有两种情况:1、正常结束:在关闭时调用一个.bat文件,然后在.bat文件中调用这个可执行文件,2、被非法结束(例:从任务管理器中结束):正地考虑中
      

  6.   

    顺便问一下,如何获得CPU的频率,和二级缓存的大小?
      

  7.   

    对于关闭后定时启动的,必须写一个后台程序来控制。
    如果只是不想被关闭用lianshaohua的方法正好。
      

  8.   

    在TForm_Close事件里面加入
    form.show;
      

  9.   

    ...
      application.terminate;
      winexec('xxx.exe',1);
    ...
      

  10.   

    程序终止之后能再执行winexec('xxx.exe',1);吗?
      

  11.   

    程序终止之前执行winexec,运行你的程序副本,再关闭原来的出错程序
      

  12.   

    程序终止之后能再执行winexec('xxx.exe',1);吗?
    you should try..
      

  13.   

    application.terminate;
      winexec('xxx.exe',1);
    其实这样是可以的,我试过的,最简单的方法。我用的是shellexecute和这个差不多,缺点是你没有办法控制关闭多久后重新启动,如果你需要定时,比如关闭5秒后程序重新启动,这种办法就没作用了,这种情况还是需要做一个监控程序
      

  14.   

    可能的情况是:(可以参考一下)可以安装一个WH_CALLWNDPROC 的全局钩子,在 CallWndProc 中检测 lParam ,这是一个指针,指向一个CWPSTRUCT 类型的结构体,其中的message和 hwnd分别表示一个消息ID和这个消息的目的窗口句柄,这样你就可以拦截WM_QUIT消息并查看目标窗口是不是你欲监控的程序的主窗口,如果是,在定时一段时间后启动他就可以实现定时启动了。
     
      

  15.   

    设你的程序为A,再作一个程序B,在这个B程序中,设置多长时间启动A程序。每次关闭A程序时,就启动B程序。