发表回复 
问题·未解决 如何限制只能同时运行一个脚本
2017-09-22, 13 : 20
如何限制只能同时运行一个脚本
分别有两种情况,
一种是,当前脚本A运行的同时如果点击脚本B,则脚本B不会运行,系统继续运行脚本A;
另一种是,当前脚本A运行的同时如果点击脚本B,则脚本A自动退出,并运行脚本B.
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-09-23, 01 : 11
RE: 如何限制只能同时运行一个脚本
脚本B最顶端加几句
1.判断是否有脚本A进程,如果不是编译的exe,也可以判断标题。还不行就让脚本A启动时创建一个特殊文件,关闭时删除,脚本B判断文件是否存在。如果要求极高,运行绝​对禁止,脚本A启动时给脚本B改名。
自用的,本来是为了同一个脚本不重复运行,但把已有窗口激活到最前,所以没用#SingleInstance
代码: (全选)
;3为完全匹配
SetTitleMatchMode, 3
;按标题获取ID,如果存在,激活原有的退出
WinGet, 检测ID, , 脚本A名字.ahk
If 检测ID
{
    ;激活脚本A后退出
    WinActivate 脚本A名字.ahk
    ExitApp
}

2.脚本B启动时先结束脚本A进程。如果没有误杀可能,判断都可以省略了。如果需要脚本A正常退出,可以发送消息,脚本A需加入监听语句,帮助文件的OnMessage(​)下面有示例。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-09-23, 12 : 31
RE: 如何限制只能同时运行一个脚本
你好感谢回答,有个问题就是如果这些进程没有窗口,只呆在通知栏里的话,那winclose就不起作用。如果是process close的话,又无法带排除参数。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-09-23, 20 : 18
RE: 如何限制只能同时运行一个脚本
由消息接收方判断自己该不该关,只是没试过几个脚本能否监听到同一消息。或者脚本A不停检测是否存在脚本B进程。
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
2017-09-24, 07 : 43
RE: 如何限制只能同时运行一个脚本
(2017-09-23 20 : 18)TSQJZKIHCVQXSBKA 提到:  由消息接收方判断自己该不该关,只是没试过几个脚本能否监听到同一消息。或者脚本A不停检测是否存在脚本B进程。

这个得到时候再测试看看了。总的来说目前AHK的功能还不是很完善
查找这个用户的全部帖子
表示感谢 引用并回复 移动视图置页面顶端
发表回复 


论坛跳转:


联系我们 | Autohotkey 中文站 | 回到顶部 | 回到正文区 | 精简(归档)模式 | RSS 聚合