Private Declare Function EnumProcesses Lib "PSAPI.DLL" (ByRef lpidProcess AsLong, ByVal cb AsLong, ByRef cbNeeded AsLong) AsLong PrivateSub Command1_Click() Const clMaxNumProcesses AsLong=5000'最大进程数 Const MAX_PATH =260 Const PROCESS_QUERY_INFORMATION =1024 Const PROCESS_VM_READ =16 Dim strModuleName AsString* MAX_PATH Dim strProcessNamePath AsString Dim strProcessName AsString Dim allMatchingProcessIDs() AsLong Dim alModules(1To400) AsLong Dim lBytesReturned AsLong Dim lNumMatching AsLong Dim lNumProcesses AsLong Dim lBytesNeeded AsLong Dim alProcIDs() AsLong Dim lHwndProcess AsLong Dim lThisProcess AsLong Dim lRet AsLong ReDim alProcIDs(clMaxNumProcesses *4) AsLong'??5000*4 lRet = EnumProcesses(alProcIDs(1), clMaxNumProcesses *4, lBytesReturned) lNumProcesses = lBytesReturned /4 ReDim Preserve alProcIDs(lNumProcesses) '获取所有进程的标识符 Dim i AsInteger For i =1To lNumProcesses Debug.Print alProcIDs(i) Next i End Sub