进程数的判断
比如已经登录了两个QQ,进程里就有两个QQ进程了。那我现在编了个QQ登录器,如果已经登录了两个QQ,这个登录器,就不让再登录,如果是一个,就允许再登录。登录这块已经编好了,就是进程数判断不知道怎么弄,希望会的教下我。谢谢[ 本帖最后由 botanycc 于 2008-9-22 18:00 编辑 ] If ProcessExists("QQ.exe") Then
MsgBox(0, "提示", "QQ is running.")
else
运行QQ。。。
EndIf 这个只是判断有无进程的,我要的是如果有两个进程就不允再许运行了。 先获取一个进程数组,然后对比元素,帮助里面的稍微改一下应该就可以了
[ 本帖最后由 netegg 于 2008-9-20 17:25 编辑 ] $list = ProcessList("QQ.exe")
if $list = "QQ.exe" then
MsgBox(0, "提示", "已经运行了两个QQ.")
else
运行QQ
EndIf $list = ProcessList()
$i=0
$w=1
for $w = 1 to $list
if $list[$w] = "QQ.exe" then
$i=$i+1
EndIf
next
自己看着改吧,这个只是判断有几个qq进程的
[ 本帖最后由 netegg 于 2008-9-21 09:58 编辑 ] 原帖由 palkiller 于 2008-9-21 01:05 发表 http://www.autoitx.com/images/common/back.gif
$list = ProcessList("QQ.exe")
if $list = "QQ.exe" then
MsgBox(0, "提示", "已经运行了两个QQ.")
else
运行QQ
EndIf
当只有一个QQ时,运行就出错,为何?
ProcessList("QQ.exe")这句活不是取数组的 看看帮助里的例子,挺清楚了
#NoTrayIcon
While True
_CheckQq()
Sleep(250)
WEnd
Func _CheckQq()
Local $Qq=ProcessList("qq.exe")
If WinExists("QQ用户登录","登录") Then
If $Qq>2 Then
WinKill("QQ用户登录","登录")
MsgBox(64,"温馨提示","本机只允许登陆两个QQ,您已经超出了登陆限制!")
EndIf
EndIf
EndFunc
页:
[1]