0
下午好,是否有可能通过名称获得WINAPI进程句柄而无需遍历所有进程? 我知道怎么用它的名字通过所有进程迭代WINAPI进程句柄:是否有可能通过进程名称获得WINAPI进程句柄,而无需遍历所有进程
HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
if (Process32First(snapshot, &entry) == TRUE){
while (Process32Next(snapshot, &entry) == TRUE)
{
if (stricmp(entry.szExeFile, ProcessName) == 0){
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, entry.th32ProcessID);
// measure process memory usage
CloseHandle(hProcess);
}
}
}
CloseHandle(snapshot);
但是,它似乎将需要很长时间显著量经由过程快照进行迭代。谢谢。
内部进程维护在一个链表中,因此最终有人需要遍历它们并比较名称。尽管如此,我并不真正看到你的担忧。几百(最极端的)字符串比较不会花费太多时间。 – Luke 2011-02-03 20:53:04