所开发的程序会自动关闭and windows消息例子

zhwbwelcome 2007-07-12 09:46:37
自己开发的程序会在一直运行在七八天的时候会自动关闭。。关闭也不报什么错误。。。为了解决应此想做一个监控程序。。就是定时给这个程序发windows消息。当他一段时间叫不回复。。就重起这个程序。。。不知道有哪位高手指点一下。。谢谢了。。最好有例子。。。
...全文
123 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
chtlovezj 2007-07-17
  • 打赏
  • 举报
回复
采用木马技术,后台定时巡检进程好些,这样不用增加服务器的工作
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把它启动起来
wywry 2007-07-17
  • 打赏
  • 举报
回复
还可以使用TCP,定时通讯,在规定的时间内没有联系到,则认为已经失去联系(死掉),再重新开启。
newfang 2007-07-16
  • 打赏
  • 举报
回复
7,8天就自动关闭,那应该找找原因哦~~
做监控程序有很多思路,楼上说的发消息是一种办法~~
还有就是搜索进程列表,最笨的就让你的程序写日志,不用太频繁,每隔一分钟写一次就可以,如果你的要求不高的话,然后监控程序读日志.
logne 2007-07-13
  • 打赏
  • 举报
回复
你就每隔几天重启一下就行了,管他有没有响应呢
林石公 2007-07-13
  • 打赏
  • 举报
回复
进程间通讯
SendMessage(tHandle, WM_COPYDATA, ....);


嘿嘿
如果你的监控程序也自动关闭了呢??
iuIRCClient 2007-07-13
  • 打赏
  • 举报
回复
你应该找出错误 ,不让它七八天后会死掉。
你要做个监控的软件一直运行,它要七八天后也死掉呢?

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧