【问题标题】:OpenProcess function with two dwDesiredAccess具有两个 dwDesiredAccess 的 OpenProcess 函数
【发布时间】:2019-09-27 06:14:54
【问题描述】:

根据microsoft文档,dwDesiredAccess参数可以是一个或多个进程访问权限。

当我调用 openProcess 函数时,我想传递两个不同的 dwDesiredAccess(PROCESS_QUERY_INFORMATION 和 PROCESS_TERMINATE)。谁能告诉我如何调用该函数?

HANDLE hprocess = OpenProcess(PROCESS_QUERY_INFORMATION, 0, static_cast<DWORD>(proc.th32ProcessID));

请注意,上面的代码是针对一种访问权限的。

【问题讨论】:

  • 在不相关的注释上,假设 proc.th32ProcessID 来自 PROCESSENTRY32 那么它已经是 DWORD 并且不需要将 static_cast'ed 到 DWORD

标签: c++ windows winapi


【解决方案1】:

与大多数 Win32 函数一样,您可以在单个参数中设置多个参数,您只需将参数中的按位 OR 组合在一起:

HANDLE hprocess = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_TERMINATE, 0, static_cast<DWORD>(proc.th32ProcessID));

【讨论】:

    猜你喜欢
    • 2022-11-21
    • 1970-01-01
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多