找回密码
 加入
搜索
查看: 1382|回复: 4

if 多判断的问题

[复制链接]
发表于 2009-6-9 22:59:30 | 显示全部楼层 |阅读模式
本帖最后由 lin6163 于 2009-6-10 22:12 编辑

$ps = ProcessExists ( "AutoIt3.exe" )
if  $ps > 1 Then
$pcs = ProcessList("AutoIt3.exe")
ElseIf  $pcs[0][0] >= 2 Then
MsgBox (16+48, "错误!" , "请不要重复运行,否则会造成热键冲突!")
ElseIf   $pcs[1][1] < $pcs[2][1] Then
ProcessClose ( $pcs[2][1] )
Else
ProcessClose ( $pcs[1][1] )
EndIf
代码....
.....
....
大概意思就是想
当发现在自身程序不存在时忽略这段代码
继续运行下面的代码,但不能在这退出

当自身程序存在时启用这段代码
并提示   "请不要重复运行,否则会造成热键冲突"
先获取进程是不是2个以上的
再把两个进程比较一下pid
那个PID大的结束掉那个
留下那个进程PID小的
 楼主| 发表于 2009-6-10 01:00:37 | 显示全部楼层
顶上!!!!!!!!!!!!!!
发表于 2009-6-10 01:19:33 | 显示全部楼层
枚举进程不时有专门的函数吗,从进程名再返回PID也有相应的函数,比较数大小也有,组合着用吧
发表于 2009-6-10 17:05:30 | 显示全部楼层
当发现在自身程序不存在时忽略这段代码
继续运行下面的代码,但不能在这退出
当自身程序存在时启用这段代码
并提示   "请不要重复运行,否则会造成热键冲突"

If WinExists("本程序的窗口标题") Then
MsgBox (16+48, "错误!" , "请不要重复运行,否则会造成热键冲突!")
Exit
Endif
也可达到楼主目的
发表于 2009-6-27 20:43:59 | 显示全部楼层
正好在研究这个,学习了。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-3 16:01 , Processed in 0.076034 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表