找回密码
 加入
搜索
查看: 2113|回复: 14

一键关闭所有QQ……(高手帮帮忙啊……)

[复制链接]
发表于 2008-7-9 20:49:02 | 显示全部楼层 |阅读模式
我想做个一键关闭所有QQ的程序,就是QQ登录器中,关闭所有QQ 的那个功能

高手能否帮忙指导下?刚接触AU3,很多地方多不懂啊,谢谢

还有,如果做成这个程序,想要静默执行,该怎么做?

就是说做出这个程序,一运行,就会将机器中的所有QQ程序关闭,而没有任何窗口(静默)

期待高手指导……
发表于 2008-7-9 21:13:03 | 显示全部楼层
While 1
        sleep(100)
        if not ProcessExists("QQ.exe") then Exit
        ProcessClose("QQ.exe")
WEnd


不知行不行,你试试。
发表于 2008-7-9 21:26:29 | 显示全部楼层
会自动结束任务管理器,按F6键关闭所有QQ,按F7键关闭自身。方法笨了点,用用吧,哈哈

#NoTrayIcon

$g_szVersion = "My Script 1.1"
If WinExists($g_szVersion) Then Exit
AutoItWinSetTitle($g_szVersion)

HotKeySet("{F6}", "quit")
HotKeySet("{F7}", "quit2")

While 1
        Sleep(50)
        If ProcessExists("taskmgr.exe") Then 
           ProcessClose("taskmgr.exe")
        EndIf
WEnd

Func quit()

    ProcessClose("QQ.exe")
Sleep(50)
    ProcessClose("QQ.exe")
Sleep(50)
    ProcessClose("QQ.exe")
Sleep(50)
    ProcessClose("QQ.exe")
Sleep(50)
    ProcessClose("QQ.exe")
Sleep(50)
    ProcessClose("QQ.exe")
Sleep(50)
    ProcessClose("QQ.exe")
EndFunc

Func quit2()
exit
EndFunc
发表于 2008-7-9 21:27:29 | 显示全部楼层
Func killallqq()
        If Not ProcessExists("QQ.exe") Then
                MsgBox(262144, "提示", "请确认有QQ程序正在运行!!", 10)
        EndIf
        $QQlist = ProcessList("QQ.exe")
        If @error Then Return
        If IsArray($QQlist) Then
                For $i = 1 To $QQlist[0][0]
                        ProcessClose($QQlist[$i][1])
                Next
        EndIf
EndFunc   ;==>killallqq
发表于 2008-7-9 21:41:30 | 显示全部楼层
顽固的代码OK.
发表于 2008-7-9 22:27:53 | 显示全部楼层
[au3]HotKeySet("{F6}", "CloseQQ")
Func CloseQQ()
    While ProcessExists("QQ.exe")
        ProcessClose("QQ.exe")
        sleep(200)
    WEnd
EndFunc[/au3]

其余的代码自己完成吧。

[ 本帖最后由 clonecd 于 2008-7-9 22:42 编辑 ]
 楼主| 发表于 2008-7-10 09:16:46 | 显示全部楼层
谢谢各位了
AU3的的脚本,各位的我慢慢做测试了,感谢大家

我说下我的方法吧,不是用AU3,呵呵,而是用的系统命令

如果结束一个QQ进程就可以用
ntsd -c q -pn qq.exe

如果不确定有多少QQ进程,都想结束,就像一键关闭QQ那样,就是

Tasklist /fi "imagename eq qq.exe"



Taskkill /fi "imagename eq qq.exe" /f


我将上面的命令做成 bat 脚本,然后再建个 vbs 脚本就是静默运行了,呵呵,然后再打包就是exe了…………

这几个命令,不用我解释了吧?嘿嘿,笨了点,但是殊途同归啊……

感谢各位热心回答
发表于 2008-7-10 09:27:52 | 显示全部楼层
Bat、Au3的都有了。怎么少得了WMI的呢?



_Kill("qq.exe")


Func _Kill($Process)
 
$strComputer = "."
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
$colProcessList = $objWMIService.ExecQuery ("SELECT * FROM Win32_Process Where Name= '"& $Process&"'")

For $objProcess in $colProcessList
    $objProcess.Terminate()
Next

EndFunc

发表于 2008-7-10 09:47:53 | 显示全部楼层
叁十功名何所求,
恨萍聚散谁人偶;
居仙笑谓人生戏,
士人但求仙鹤楼。
发表于 2008-7-10 10:15:59 | 显示全部楼层
有何指教???
发表于 2008-7-13 10:56:14 | 显示全部楼层
建议出点wmi的使用方法
发表于 2008-7-13 11:03:06 | 显示全部楼层
原帖由 sanhen 于 2008-7-10 10:15 发表
有何指教???

一个字:高.
发表于 2008-7-13 14:30:20 | 显示全部楼层
HotKeySet("{F6}", "CloseQQ")

While 1
        Sleep(100)
WEnd

Func CloseQQ()
        While 1
                Sleep(100)
                If Not ProcessExists("QQ.exe") Then  ExitLoop
                ProcessClose("QQ.exe")
        WEnd
EndFunc   ;==>CloseQQ
发表于 2009-7-21 23:18:55 | 显示全部楼层
我也来凑凑热闹
Do
If ProcessExists('QQ.exe') Then ProcessClose('QQ.exe') 
Until ProcessExists('QQ.exe')=0
三行循环检测关闭所有QQ进程
发表于 2009-7-23 15:59:15 | 显示全部楼层
Run(@ComSpec & " /c " & 'taskkill /f /im qq.exe', "", @SW_HIDE)
一行,哈哈
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-2 17:27 , Processed in 0.072995 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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