myluoying 发表于 2013-5-18 12:48:48

AU3如何阻止程序多次运行?

AU3如何阻止程序多次运行?求解

haijie1223 发表于 2013-5-18 13:03:23

楼主是不是想表达只让一个脚本实例运行啊。这个问题在帮助中有,还是个FAQ。建议大家都多看帮助:14. 怎样才能确保只有一个脚本实例运行?
1.使用 _Singleton() 函数. 参考用户自定义函数文档得到 _Singleton() 的更多信息.

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

; 请置于脚本顶部
$g_szVersion = "我的脚本"
If WinExists($g_szVersion) Then Exit ; 此脚本已经运行了
AutoItWinSetTitle($g_szVersion)
; 下面是脚本的其它代码

xms77 发表于 2013-5-18 13:16:33

回复 1# myluoying
我一直用这个:
$1 = ProcessExists(@ScriptName)
$list = ProcessList(@ScriptName)
For $i = 1 To $list
        If $list[$i] <> $1 Then Exit
Next

myluoying 发表于 2013-5-18 13:24:23

回复 2# haijie1223 谢谢哇 呵呵可以咯

netegg 发表于 2013-5-19 09:09:43

问题解决请修改标题

gyc990326 发表于 2013-5-19 19:52:08

同志,记得要改成已解决啊!
页: [1]
查看完整版本: AU3如何阻止程序多次运行?