自己开发的程序会在一直运行在七八天的时候会自动关闭。。关闭也不报什么错误为了解决应此想做一个监控程序。。就是定时给这个程序发windows消息。当他一段时间叫不回复。。就重起这个程序不知道有哪位高手指点一下。。谢谢了。。最好有例子

解决方案 »

  1.   

    进程间通讯
    SendMessage(tHandle, WM_COPYDATA, ....);
    嘿嘿
    如果你的监控程序也自动关闭了呢??
      

  2.   

    还可以使用TCP,定时通讯,在规定的时间内没有联系到,则认为已经失去联系(死掉),再重新开启。
      

  3.   

    采用木马技术,后台定时巡检进程好些,这样不用增加服务器的工作
    use TlHelp32,例子:取excel.exe的进程id话
      AppForceExit('Excel.exe');function AppForceExit(AppName: string):HWND;
    var lppe: TProcessEntry32;
        ssHandle: THandle;
        AppFound: Boolean;
        Wnd: HWND;
    begin
      ssHandle := CreateToolHelp32SnapShot(TH32CS_SNAPALL, 0);
      lppe.dwSize := SizeOf(lppe);
      AppFound := Process32First(sshandle, lppe);
      wnd:=-1;
      while AppFound do
      begin
        
        if UpperCase(ExtractFileName(lppe.szExeFile))=UpperCase(AppName) then
        begin
          Wnd := OpenProcess(PROCESS_ALL_ACCESS, true, lppe.th32ProcessID);
          break;
        end;
        AppFound := Process32Next(ssHandle, lppe);
      end;
      result:=wnd;
    end;返回不是-1表示程序在运行,否则就表示它退出了,可以考虑用SHELLEXECUTE把它启动起来