找回密码
 加入
搜索
查看: 1779|回复: 5

[系统综合] AU3如何阻止程序多次运行?

  [复制链接]
发表于 2013-5-18 12:48:48 | 显示全部楼层 |阅读模式
AU3如何阻止程序多次运行?求解
发表于 2013-5-18 13:03:23 | 显示全部楼层
楼主是不是想表达只让一个脚本实例运行啊。这个问题在帮助中有,还是个FAQ。建议大家都多看帮助:
14. 怎样才能确保只有一个脚本实例运行?
1.使用 _Singleton() 函数. 参考用户自定义函数文档得到 _Singleton() 的更多信息.

2.当然,以前最简单的方法是在脚本首次运行时重命名(隐藏的)AutoIt窗口的标题.然后在同一脚本中检查该窗口标题是否存在——如果存在则说明另外一个脚本副本正在运行.

; 请置于脚本顶部 
$g_szVersion = "我的脚本"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
; 下面是脚本的其它代码
发表于 2013-5-18 13:16:33 | 显示全部楼层
回复 1# myluoying
我一直用这个:
$1 = ProcessExists(@ScriptName)
$list = ProcessList(@ScriptName)
For $i = 1 To $list[0][0]
        If $list[$i][1] <> $1 Then Exit
Next
 楼主| 发表于 2013-5-18 13:24:23 | 显示全部楼层
回复 2# haijie1223 谢谢哇 呵呵  可以咯
发表于 2013-5-19 09:09:43 | 显示全部楼层
问题解决请修改标题
发表于 2013-5-19 19:52:08 | 显示全部楼层
同志,记得要改成已解决啊!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 08:24 , Processed in 0.074882 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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