L o a d i n g . . .
主打一个C++
文章详情

C++通过进程名称获取进程pid

Posted on 2024-09-03 21:18:42 by 主打一个C++

#include <windows.h>
#include <tlhelp32.h>
ULONG ProcessNameGetPid(CONST PWCHAR processName)
{
    PROCESSENTRY32 pe;
        //快照进程
    HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL);
    if (hProcess == INVALID_HANDLE_VALUE)
    {
        return 0;
    }
        //初始化结构大小
    pe.dwSize = sizeof(PROCESSENTRY32);
    BOOL dRet = Process32First(hProcess, &pe);
    while (dRet != NULL)
    {
        //判断是否是查找的进程名称
        if (!lstrcmp(processName, pe.szExeFile))
        {
            pe.th32ProcessID;
            CloseHandle(hProcess);
            //关闭快照后返回进程pid
            return (ULONG)pe.th32ProcessID;
        }
        //继续查找下一个进程
        dRet = Process32Next(hProcess, &pe);
    }
    CloseHandle(hProcess);
    return 0;
}

//使用:

int main(){
    printf("进程Pid: %d\n",ProcessNameGetPid(L"测试进程.exe"));
}


*转载请注明出处:原文链接:https://cpp.vin/page/22.html

作者近期文章
提示
×
确定
数据库执行: 7次 总耗时: 0.02s
页面加载耗时: 



wechat +447752296473
wechat cpp-blog