【问题标题】:Get Process Infomation via pid in Win7Win7中通过pid获取进程信息
【发布时间】:2013-02-05 03:44:02
【问题描述】:

我在我的程序中列出进程名称。首先,我使用“EnumProcesses”来获取所有 PID。然后我得到这样的进程名称:

hProcess = OpenProcess( PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, FALSE, pid );
if( hProcess ) {
    EnumProcessModules( hProcess, &hModule, sizeof(hModule), NULL);
    GetModuleFileNameExW( hProcess, hModule, (LPWSTR)fileName, 100*sizeof(wchar_t) );

    printf ("[%d] 0x%08X %d - %ws \n", i, hProcess, pid, fileName);
}

我可以在winxp中获取所有进程。但是,在 Win7 中,Some Process 的句柄为 NULL,所以我无法获取它的信息。像这样:

我不知道为什么。谁能告诉我为什么?谢谢你。

【问题讨论】:

    标签: c windows-7


    【解决方案1】:

    权限(您需要 SEDebugPrivilege 来枚举所有权限)或者您尝试从 32 位进程枚举 64 位进程

    【讨论】:

    • 如果这有用,请接受它作为答案(点击我答案左侧的绿色“V”符号)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 2014-12-28
    • 1970-01-01
    相关资源
    最近更新 更多