加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

winapi – 从进程ID获取进程名称(win32)

发布时间:2020-12-13 20:49:24 所属栏目:Windows 来源:网络整理
导读:我需要得到Windows系统上所有进程的列表,包括名称和PID。 EnumProcess可以获得一个pid列表,但是如何从pid获取进程名称?我不想在进程上调用OpenProcess,因为这并不总是工作(就像其他进程由不同的用户运行一样)。 Y您可以使用 ToolHelp API获取所有正在运
我需要得到Windows系统上所有进程的列表,包括名称和PID。
EnumProcess可以获得一个pid列表,但是如何从pid获取进程名称?我不想在进程上调用OpenProcess,因为这并不总是工作(就像其他进程由不同的用户运行一样)。
Y您可以使用 ToolHelp API获取所有正在运行的进程的进程标识符和名称。
以下代码将显示每个进程的pid和名称。
void showProcessInformation() {
    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
    if(hSnapshot) {
        PROCESSENTRY32 pe32;
        pe32.dwSize = sizeof(PROCESSENTRY32);
        if(Process32First(hSnapshot,&pe32)) {
            do {
               printf("pid %d %sn",pe32.th32ProcessID,pe32.szExeFile);
            } while(Process32Next(hSnapshot,&pe32));
         }
         CloseHandle(hSnapshot);
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读