线程ID?是进程ID(ProcessID)吧,光知道一个线程的ID能得到创建这个线程的进程吗?<br><br>知道进程ID的话,这种方式最简单(引用 PSAPI,调用 EnumProcessModules ):<br>//调用这个函数, GetProcessPath(进程ID) ,返回的就是完整的进程名(带路径)<br>function GetProcessPath(PID : Integer): String;<br>var hProcess: THandle;<br> hMod : hModule;<br> cbNeeded: DWORD;<br> szProcessName: array[0..1024] of Char;<br>begin<br> hProcess := OpenProcess(PROCESS_QUERY_INFORMATION OR PROCESS_VM_READ,<br> FALSE, PID );<br> szProcessName := 'unknown';<br> if (hProcess<>0) then begin<br> if(EnumProcessModules(hProcess,@hMod,sizeof(hMod),cbNeeded)) then begin<br> GetModuleFileNameEx(hProcess,hMod,szProcessName,sizeof(szProcessName));<br> Result := StrPas(szProcessName);<br> end;<br> end;<br> CloseHandle(hProcess);<br>end;<br><br><br><br>不用PSAPI的话,用下面这三个就OK:<br>CreateToolhelp32Snapshot 建立进程快照<br>Process32First Process32Next 一个个遍历,找到pID相同的就可以了。