用进程pid取进程名字,全路径,非遍历

来源:赵克立博客 分类: Win32 标签:Win32ApiWin32发布时间:2021-04-29 20:48:40最后更新:2021-04-29 20:49:04浏览:655
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2021-04-29 20:49:04
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章

先引入头文件 

#include<psapi.h>


void ShowProcName(uint32_t pid)
{
    char tempProcName[MAX_PATH] = { 0 };
    //必须具有的权限
    HANDLE processHandle = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid);
    if (processHandle == NULL) {
        return;
    }
    auto len = GetModuleBaseNameA(processHandle, NULL, tempProcName, MAX_PATH);
    if (len == 0) {
        printf("Get base namefailed, err: %u", GetLastError());
    }
    printf("%s\n", tempProcName);

    GetModuleFileNameEx(processHandle, NULL, tempProcName, MAX_PATH);
    printf("%s\n", tempProcName);
    
    GetProcessImageFileName(processHandle, tempProcName, MAX_PATH);
    printf("%s\n", tempProcName);

   
    CloseHandle(processHandle);
}

输出结果

2104291619700517481965.png


微信号:kelicom QQ群:215861553 紧急求助须知
Win32/PHP/JS/Android/Python