找回密码  加入

AUTOIT CN

搜索
查看: 409|回复: 15

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

[复制链接]
发表于 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 | 显示全部楼层
嗯嗯,试用正常!
发表于 2019-2-12 12:34:55 | 显示全部楼层
感谢大佬分享
发表于 2019-2-12 13:36:24 | 显示全部楼层
多谢分享!谢谢
发表于 2019-2-12 15:42:29 | 显示全部楼层
感谢分享,看看和绿大侠的有什么不同
发表于 2019-2-13 08:04:52 | 显示全部楼层
谢谢分享,又一种方法
收藏了
发表于 2019-2-13 21:52:15 | 显示全部楼层
错误: 语法错误 (非法字符)
发表于 2019-2-13 21:52:33 | 显示全部楼层
提示这个是什么意思?
错误: 语法错误 (非法字符)
发表于 2019-2-14 13:42:36 | 显示全部楼层
fybhwsx 发表于 2019-2-3 15:41
用这个方法有什么好处吗?

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

我这也是这个错误。
发表于 2019-4-14 23:07:09 | 显示全部楼层
有没有办法实现这样的目的:
程序打开后最小化到托盘,第二次打开这个程序时,自动打开这个程序的窗口
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2019-5-21 03:45 , Processed in 0.062500 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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