botanycc 发表于 2008-9-20 16:01:54

进程数的判断

比如已经登录了两个QQ,进程里就有两个QQ进程了。那我现在编了个QQ登录器,如果已经登录了两个QQ,这个登录器,就不让再登录,如果是一个,就允许再登录。登录这块已经编好了,就是进程数判断不知道怎么弄,希望会的教下我。谢谢

[ 本帖最后由 botanycc 于 2008-9-22 18:00 编辑 ]

javarike 发表于 2008-9-20 16:22:15

If ProcessExists("QQ.exe") Then
    MsgBox(0, "提示", "QQ is running.")
else
运行QQ。。。
EndIf

botanycc 发表于 2008-9-20 17:05:09

这个只是判断有无进程的,我要的是如果有两个进程就不允再许运行了。

netegg 发表于 2008-9-20 17:21:48

先获取一个进程数组,然后对比元素,帮助里面的稍微改一下应该就可以了

[ 本帖最后由 netegg 于 2008-9-20 17:25 编辑 ]

palkiller 发表于 2008-9-21 01:05:02

$list = ProcessList("QQ.exe")
if $list = "QQ.exe" then
        MsgBox(0, "提示", "已经运行了两个QQ.")
else
运行QQ
EndIf

netegg 发表于 2008-9-21 09:56:03

$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 编辑 ]

botanycc 发表于 2008-9-21 16:34:31

原帖由 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时,运行就出错,为何?

netegg 发表于 2008-9-21 19:58:32

ProcessList("QQ.exe")这句活不是取数组的

netegg 发表于 2008-9-21 20:01:57

看看帮助里的例子,挺清楚了

sanhen 发表于 2008-9-22 09:04:11


#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]
查看完整版本: 进程数的判断