找回密码
 加入
搜索
查看: 2235|回复: 10

[AU3基础] 请教如何禁止程序运行

  [复制链接]
发表于 2017-2-23 00:22:29 | 显示全部楼层 |阅读模式
比方说我打开了一个qq,就禁止打开第二个qq,然后当我把第一个qq关了就又可以打开qq了
发表于 2017-2-23 07:42:40 | 显示全部楼层
_Singleton,你看看这个函数是不是你想要的
 楼主| 发表于 2017-2-23 08:27:27 | 显示全部楼层
好的,我试试
发表于 2017-2-23 08:47:46 | 显示全部楼层
#include <MsgBoxConstants.au3>

If ProcessExists("qq.exe") Then ; 检查进程是否正在运行
    MsgBox(0, "", "QQ正在运行")
Else
    Run("C:\Program Files (x86)\Tencent\QQ\Bin\qq.exe");填写QQ安装的路径
EndIf
 

评分

参与人数 1金钱 +10 收起 理由
yinbinly + 10

查看全部评分

 楼主| 发表于 2017-2-23 10:52:54 | 显示全部楼层
回复 4# 229989799
 楼主| 发表于 2017-2-23 10:58:32 | 显示全部楼层
回复 4# 229989799


谢谢指教,是我表达的不够清楚  ,我的意思是这个脚本在后台运行,监视qq这个程序,只允许运行一个,只要有一个qq在运行,后面的qq就运行不起来,而且这脚本就是监视,不是去执行qq,谢谢,我刚接触这语言,小白一个,见笑
发表于 2017-2-23 20:07:23 | 显示全部楼层
循环检测进程容易机器耗内存,可能鼠标会有闪烁哦。。
Local $a[4]=['0.exe','1.exe','2.exe','3.exe']
While 1
For $i=0 To 3 
If ProcessExists($a[$i]) Then ProcessClose($a[$i])
Next
Sleep(500)
WEnd
发表于 2017-2-23 20:09:18 | 显示全部楼层
Local $aList
Local $iPid_QQ = ProcessExists('qq.exe')
While 1
Sleep(100)
$aList = ProcessList('qq.exe')
If @error Then ContinueLoop
If $iPid_QQ = 0 Then $iPid_QQ = $aList[1][1]
For $i = 1 To $aList[0][0]
        If $aList[$i][1] <> $iPid_QQ Then ProcessClose($aList[$i][1])
Next
WEnd
 楼主| 发表于 2017-2-24 15:22:51 | 显示全部楼层
回复 7# 229989799


    谢谢,学习了
 楼主| 发表于 2017-2-24 15:23:17 | 显示全部楼层
回复 8# Alam


    谢谢,大神指点
发表于 2024-5-8 09:38:30 | 显示全部楼层
本帖最后由 msold5 于 2024-5-8 09:41 编辑

应该注册事件,由EXE运行触发,检测是否有同名程序,如果有则kill掉
但是注册检测EXE运行事件又应该怎么写呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 10:47 , Processed in 0.092376 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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