找回密码  加入

AUTOIT CN

搜索
查看: 237|回复: 13

[转贴] 只允许一个实例运行

[复制链接]
发表于 2019-2-2 11:06:56 | 显示全部楼层 |阅读模式
au3只允许一个实例运行,实现方法很多,但是下面这种方法可能就鲜有人知道了。
  1. _instance("autoit.cn")
  2. Func _instance($SEMAPHORE)
  3.         Local $ERROR_ALREADY_EXISTS = 183
  4.         DllCall("kernel32.dll", "int", "CreateSemaphore", "int", 0, "long", 1, "long", 1, "str", $SEMAPHORE)
  5.         Local $LASTERROR = DllCall("kernel32.dll", "int", "GetLastError")
  6.         If $LASTERROR[0] = $ERROR_ALREADY_EXISTS Then Exit
  7. EndFunc   ;==>_instance
复制代码


评分

2

查看全部评分

发表于 2019-2-3 13:05:29 | 显示全部楼层
多谢分享!谢谢
发表于 2019-2-3 15:38:11 | 显示全部楼层
试试,一直用_Singleton
发表于 2019-2-3 15:41:56 | 显示全部楼层
用这个方法有什么好处吗?
 楼主| 发表于 2019-2-3 18:40:59 | 显示全部楼层
fybhwsx 发表于 2019-2-3 15:41
用这个方法有什么好处吗?

防止程序重复运行的另一种方法。
发表于 2019-2-3 19:30:57 | 显示全部楼层
嗯嗯,试用正常!
发表于 6 天前 | 显示全部楼层
感谢大佬分享
发表于 6 天前 | 显示全部楼层
多谢分享!谢谢
发表于 6 天前 | 显示全部楼层
感谢分享,看看和绿大侠的有什么不同
发表于 5 天前 | 显示全部楼层
谢谢分享,又一种方法
收藏了
发表于 5 天前 | 显示全部楼层
错误: 语法错误 (非法字符)
发表于 5 天前 | 显示全部楼层
提示这个是什么意思?
错误: 语法错误 (非法字符)
发表于 4 天前 | 显示全部楼层
fybhwsx 发表于 2019-2-3 15:41
用这个方法有什么好处吗?

防止同一个程序被多次打开运行呀。。
发表于 3 天前 | 显示全部楼层
anythinging 发表于 2019-2-13 21:52
提示这个是什么意思?
错误: 语法错误 (非法字符)

我这也是这个错误。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2019-2-18 18:32 , Processed in 0.091332 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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