zz999 发表于 2009-7-6 12:53:57

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

想了下只能用循环
或者弄个INI里面排除手动写上去的进程

我想直接结束除系统进程以外的所有进程。
请教下
用 IF OR?

pusofalse 发表于 2009-7-6 13:20:10

系统之外的进程?你自己创建的进程如果不是系统级,那岂不也把自己给结束了,结束自己还怎么结束其他非系统进程呢,另外,如何判断一个进程是系统级的,根据进程名称判断的话BUG多多。

zz999 发表于 2009-7-6 13:28:49

除了系统必须的进程
结束其他所有的进程
不通过名称通过什么判断呢
还请大虾给个代码的框架!

pusofalse 发表于 2009-7-6 13:53:25

只是输出非系统进程,如果结束掉有点危险,自己改。#include <Array.au3>
#include <LocalSecurityAuthority.au3>

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

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

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

zz999 发表于 2009-7-6 14:02:28

OK   ...谢谢回去再改改

lynfr8 发表于 2009-7-6 16:44:12

进程方面的问题pusofalse 是研究的比较多的一个啦
:face (20):
页: [1]
查看完整版本: 再来请教个问题 关于结束除系统外的所有进程!