(已解决)请教如何 结束路径为指定目录下的所有进程
本帖最后由 q115643492 于 2011-7-10 13:50 编辑请教如何 结束路径为指定目录下的所有进程 ,进程名未知。比如结束路径为c:\1下的所有进程。 1.列出所有进程PID
ProcessList 基本函数
2.取每个进程路径
GetModuleFileNameEx API函数
3.判断其路径为指定路径的就结束它
ProcessClose 基本函数 谢谢,思路我懂,可是组织代码时有点雾水,看了几个相关帖子,还是写不完整,麻烦还是示范哈子代码。谢谢! Local $MonitorDir='D:\My Tool\'
While 1
$array=ProcessList()
For $i=1 To $array
If StringInStr(_GetModuleFileNameEx($array[$i]),$MonitorDir) Then ProcessClose($array[$i])
Next
Sleep(250)
WEnd
Func _GetModuleFileNameEx($_Pid)
$_Hwnd=DllCall("Kernel32.dll","hwnd","OpenProcess","dword",0x0400+0x0010,"int",0,"dword",$_Pid)
$_Return=DllCall("Psapi.dll","long","GetModuleFileNameEx","hwnd",$_Hwnd,"long",0,"str",0,"long",255)
DllCall("Kernel32.dll","int","CloseHandle","hwnd",$_Hwnd)
If StringInStr($_Return,"\") Then Return $_Return
Return ""
EndFunc 谢谢,已经解决。
页:
[1]