文章详情
C++通过进程名查找指定进程pid
Posted on 2016-02-29 12:03:17 by 主打一个C++
//查找进程
DWORD FindProcessByName(const wchar_t* _name)
{
DWORD pid = 0;
//查找进程
STARTUPINFO st;
PROCESS_INFORMATION pi;
PROCESSENTRY32 ps;
HANDLE hSnapshot;
memset(&st, 0, sizeof(STARTUPINFO));
st.cb = sizeof(STARTUPINFO);
memset(&ps, 0, sizeof(PROCESSENTRY32));
ps.dwSize = sizeof(PROCESSENTRY32);
memset(&pi, 0, sizeof(PROCESS_INFORMATION));
// 遍历进程
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnapshot == INVALID_HANDLE_VALUE)
return false;
if (!Process32First(hSnapshot, &ps))
return false;
do {
if (lstrcmp(ps.szExeFile, _name) == 0)
{
pid = ps.th32ProcessID;
break;
//printf("找到进程: %s\n", tszProcess);
}
} while (Process32Next(hSnapshot, &ps));
CloseHandle(hSnapshot);
return pid;
}
*转载请注明出处:原文链接:https://cpp.vin/page/73.html