ddaiqq 发表于 2010-8-9 01:21:26

【已解决】怎样检测一个程序是否被关闭 然后将其打开?

本帖最后由 ddaiqq 于 2010-8-14 23:15 编辑

有高手在吗?有没有什么软件 能检测一个软件是否被关闭 然后将其打开?
我的电脑有时别人用 老关闭我的东西
是一个局域网通信软件 服务端
如果被关闭了 客户端就不能联系了
想找个软件能检测它是否被关闭了 然后可以自动打开它
批处理 或AU3都可以吗 最好能24小时检测的

afan 发表于 2010-8-9 01:25:09

While 1
      If Not ProcessExists('服务端.exe') Then Run('X:\服务端.exe')
      Sleep(100)
Wend

xayle 发表于 2010-8-9 01:25:29

进程守护, 要善用搜索

http://www.autoitx.com/search.php?searchid=305&orderby=lastpost&ascdesc=desc&searchsubmit=yes

ddaiqq 发表于 2010-8-9 02:48:04

Const $Progname="服务端.exe",$Open="E:\名人网吧\服务端\服务端.exe"
Dim $Processname,$i
While 1
$Processname=ProcessExists($Progname)
If $Processname==0 Then
        Run ($Open)
        ContinueLoop
Else
ContinueLoop
EndIf
WEnd
在一个群有好人帮我写了这个 我测试过了 可正常使用
它这个还能一直24小时检测 不错哈
能否帮我加个汽泡提示?

ddaiqq 发表于 2010-8-9 03:09:26

本帖最后由 ddaiqq 于 2010-8-9 03:11 编辑

哈 刚用2楼超版的代码试了 也能正常使用
而且CPU占用为0%
而群里的朋友帮写的却一直占用50%
看来还是超版牛哈
(服务端检测为群里帮写的 检测2为超版的代码)

netegg 发表于 2010-8-9 03:43:36

本帖最后由 netegg 于 2010-8-9 03:44 编辑

回复 6# ddaiqq
判断不成立那个循环总是处于延迟状态,当然占用率小

wsfda 发表于 2010-8-9 13:27:22

如果把sleep(100)拿掉就百分之50-80了。
循环最好加个延迟...

xsjtxy 发表于 2010-8-9 17:41:26

这样最效率

While 1
runwait("notepad.exe")
WEnd

zcx880517 发表于 2010-8-9 18:01:13

回复 6# ddaiqq


    一个是检测完结束,另一个是循环检测,当然占用内存了。
页: [1]
查看完整版本: 【已解决】怎样检测一个程序是否被关闭 然后将其打开?