回复 1# qq1244521
你的代码应该把 $Process = 0 放在循环里的首行.
但可以考虑另一种判断方法,让代码更简洁点, 我曾经这么试过的:Local $Pid_Sys = "[System Process]|System|smss.exe|csrss.exe|" & _
"winlogon.exe|services.exe|lsass.exe|svchost.exe|explorer.exe|internat.exe|"
Local $list = ProcessList()
If @error Then
MsgBox(16, 'err', 'fail to get process list!')
Exit
Else
For $i = 1 To $list[0][0]
If StringInStr($Pid_Sys, $list[$i][0] & '|') Then ContinueLoop
ProcessClose($list[$i][0]) ;结束进程
If @error Then
MsgBox(16, $list[$i][0], '关闭进程失败,错误码: ' & @error)
Else
MsgBox(64, $list[$i][0], '已成功关闭此进程.')
EndIf
Next
EndIf
|