找回密码
 加入
搜索
查看: 1551|回复: 5

再来请教个问题 关于结束除系统外的所有进程!

[复制链接]
发表于 2009-7-6 12:53:57 | 显示全部楼层 |阅读模式
想了下  只能用循环
或者弄个INI  里面排除手动写上去的进程

我想直接结束除系统进程以外的所有进程。
请教下
用 IF OR?
发表于 2009-7-6 13:20:10 | 显示全部楼层
系统之外的进程?你自己创建的进程如果不是系统级,那岂不也把自己给结束了,结束自己还怎么结束其他非系统进程呢,另外,如何判断一个进程是系统级的,根据进程名称判断的话BUG多多。
 楼主| 发表于 2009-7-6 13:28:49 | 显示全部楼层
除了系统必须的进程
结束其他所有的进程
不通过名称通过什么判断呢
还请大虾给个代码的框架!
发表于 2009-7-6 13:53:25 | 显示全部楼层
只是输出非系统进程,如果结束掉有点危险,自己改。
#include <Array.au3>
#include <LocalSecurityAuthority.au3>

$hToken = _OpenProcessToken(@AutoItPid)
Dim $aPrivilege[1][2] = [[$SE_DEBUG_NAME, 2]]
_AdjustTokenPrivileges($hToken, $aPrivilege)
_CloseHandle($hToken)

$aProcess = ProcessList()
Redim $aProcess[$aProcess[0][0] + 1][3]
For $i = $aProcess[0][0] to 1 Step - 1
        $hProcess = _OpenProcess($aProcess[$i][1], $READ_CONTROL)
        $sUser = _QueryKernelObjectSecurityOwner($hProcess)
        _CloseHandle($hProcess)
        If $sUser = "BUILTIN\Administrators" Then
                _ArrayDelete($aProcess, $i)
        Else
                $aProcess[$i][2] = $sUser
        EndIf
Next

_ArrayDisplay($aProcess, "Non-System Processes")
LocalSecurityAuthority.au3 -
http://www.autoitx.com/forum.php ... &extra=page%3D2

评分

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

查看全部评分

 楼主| 发表于 2009-7-6 14:02:28 | 显示全部楼层
OK   ...谢谢  回去再改改
发表于 2009-7-6 16:44:12 | 显示全部楼层
进程方面的问题pusofalse 是研究的比较多的一个啦
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-9-23 01:31 , Processed in 0.077380 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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