如何检查进程是否具有管理权限

2024-02-11

如何正确检查进程是否以管理权限运行?

我检查了IsUserAnAdimMSDN 中的函数 https://msdn.microsoft.com/en-us/library/windows/desktop/bb776463.aspx,但不建议这样做,因为它可能会在 Windows 的后续版本中更改或不可用。相反,建议使用CheckTokenMembership功能。

然后我从 MSDN 的描述中查看了替代示例CheckTokenMembership功能。然而,MSDN 中的 Stefan Ozminski 评论提到,如果满足以下条件,此示例将无法在 Windows Vista 中正常运行:UAC http://en.wikipedia.org/wiki/User_Account_Control被禁用。

最后我尝试使用MSDN上的Stefan Ozminski的代码,但它确定该进程具有管理权限,即使我在Windows 7中没有管理权限的普通用户下启动它。


这将告诉您是否正在以提升的权限运行。如果您希望它提示,您可以将清单设置为以最可能的方式运行。还有其他方法可以通过代码向 Windows 询问备用凭据。

BOOL IsElevated( ) {
    BOOL fRet = FALSE;
    HANDLE hToken = NULL;
    if( OpenProcessToken( GetCurrentProcess( ),TOKEN_QUERY,&hToken ) ) {
        TOKEN_ELEVATION Elevation;
        DWORD cbSize = sizeof( TOKEN_ELEVATION );
        if( GetTokenInformation( hToken, TokenElevation, &Elevation, sizeof( Elevation ), &cbSize ) ) {
            fRet = Elevation.TokenIsElevated;
        }
    }
    if( hToken ) {
        CloseHandle( hToken );
    }
    return fRet;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查进程是否具有管理权限 的相关文章

  • 删除字符串 C 的第一个字符

    我试图删除字符串的第一个字符并保留其余部分 我当前的代码无法编译 我对如何修复它感到困惑 My code char newStr char charBuffer int len strlen charBuffer int i 1 char
  • c++11 正则表达式比 python 慢

    嗨我想了解为什么以下代码使用正则表达式进行分割字符串分割 include
  • MVC Core IActionResult 含义

    什么是IActionResult 我尝试查看 MSDN 和其他网站 但需要通用 常见 易于理解的答案 MSDN IActionResult https learn microsoft com en us dotnet api microso
  • 用 C# 启动 Windows 服务

    我想启动一个刚刚安装的Windows服务 ServiceBase ServicesToRun if bool Parse System Configuration ConfigurationManager AppSettings RunSe
  • 如何从 List 中的字符串中删除数字/数字?

    我有一个字符串列表 List
  • 使用 Selenium for C# 登录 Facebook

    我一直在使用 Selenium C 框架并尝试进行 facebook 登录 但没有任何运气 这是我到目前为止得到的 基于这篇文章 使用 Selenium 测试 Facebook Connect 应用程序 https stackoverflo
  • 将列表(对象)转换为列表(字符串)

    有没有办法转换List of Object to a List of String 在 c 或 vb net 中而不迭代所有项目 幕后迭代很好 我只想要简洁的代码 Update 最好的方法可能就是进行新的选择 myList Select f
  • C++ 中的 Java ArrayList [重复]

    这个问题在这里已经有答案了 在Java中我可以做 List
  • 使用成员作为实现者来实现接口

    我有实现 IA 的 A 类 现在我需要创建也应该实现 IA 的类 B B 类有 A 类的实例作为成员 有什么方法可以定义A的实例实现B类中的IA吗 interfase IA void method1 void method2 void me
  • C 中“for”循环中的两个变量

    我正在编写一些代码 需要在其中使用两个变量for环形 下面的代码看起来没问题吗 它确实给了我预期的结果 for loop 1 offset loop 2 offset 2 loop 1 gt offset 190 loop 2 lt 190
  • 如何防止字符串被截留

    我的理解 可能是错误的 是 在 C 中 当你创建一个字符串时 它会被实习到 实习生池 中 这保留了对字符串的引用 以便多个相同的字符串可以共享操作内存 但是 我正在处理很多很可能是唯一的字符串 一旦完成每个字符串 我需要将它们从操作内存中完
  • 枚举器上的 [[maybe_unused]]

    查看规格 maybe unused http en cppreference com w cpp language attributes 它指出 出现在类 typedef 变量 非静态数据成员 函数 枚举或枚举器的声明中 如果编译器对未使用
  • Create CFrameWnd 给出了第一次机会异常——为什么?

    我正在尝试使用基于 CFrameWnd 的代码编写一个简单的 MFC 应用程序 该应用程序在可滚动窗口中绘制 下面的代码改编自 Prosise Programming Windows with MFC 第 2 版 第 89ff 页 当我在调
  • 简单的文档管理系统和API [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • System.diagnostics.process 进程在托管后无法在 IIS 上运行?

    我正在尝试从网络应用程序安装 exe 当我在本地运行应用程序 从 asp 开发服务器 时 它安装正确 但当我托管在 IIS 上时 它不起作用 我在asp net页面的Page load方法上编写了这段代码 想要在客户端计算机上安装Test
  • 如何从代码隐藏中向我的 div 添加点击事件?

    如何从代码隐藏中向我的 div 添加点击事件 当我点击 div 时 会出现一个消息框 其中显示 您想删除它吗 并在框中显示 是 或 否 全部来自后面的代码 while reader Read System Web UI HtmlContro
  • C 中的 N 依赖注入 - 比链接器定义的数组更好的方法?

    Given a 库模块 在下文中称为Runner 它作为可重复使用的组件 无需重新编译 即静态链接库 中应用程序分区架构的 而不是主分区 请注意 它仅包含main 出于演示目的 Given a set 顺序无关 调用的其他模块 对象Call
  • 需要使用 openssl 加密和解密文件的示例 C 代码

    我正在用 Linux C 编写代码 我需要使用以下命令来加密和解密文件 openssl 目前 我使用系统命令 des3 e nosalt k 0123456789012345 in inp file out out file 进行加密 使用
  • double 类型的静态类成员的常量表达式初始值设定项

    在 C 11 和 C 14 中 为什么我需要constexpr在下面的代码片段中 class Foo static constexpr double X 0 75 而这会产生编译器错误 class Foo static const doub
  • 什么时候使用静态库需要头文件?

    如果我在 Linux 中用 C 创建一个静态库并生成 a 文件 我 或其他人 如何使用该库 例如 我的库定义了一个类 我认为仅仅提供 a 文件是不够的 还需要提供头文件 我如何知道 a 文件必须提供哪些头文件 例如 我是否需要提供我的库代码

随机推荐

  • Grabwidget 即使放大也能获取完整视图

    我在用QPixmap QPixmap grabWidget QWidget widget int x 0 int y 0 int width 1 int height 1 抓住视口QPixmap object 在某些情况下 即使屏幕放大到一
  • 为什么如果类的成员是引用,则复制对象是非法的?

    我遇到一个测验 指出下面第 18 行中的代码格式不正确 因为 当需要复制的成员之一是引用时 使用隐式定义的赋值运算符是格式不正确的 我无法理解这一点 为什么无法复制引用 为什么16号线是合法的 第 16 行与第 18 行非常相似 复制构造函
  • Socket.io 中的身份验证

    我将尝试验证 socket io 上的连接 目前 用户首先通过 REST API 进行身份验证 然后 我向用户发送JsonWebToken与经过身份验证的用户的用户名 打开客户端和服务器之间的连接后 我的计划是暂时从已连接套接字列表中删除该
  • GEKKO:不响应约束也不求解 obj 函数

    以下是与这个问题相关的内容 使用 Gekko 的 MPC 和 ARX 模型 https stackoverflow com questions 63727310 mpc with arx model using gekko 63731362
  • WPF 中的多行组合框

    我试图找到 WPF 的多行用户可编辑组合框的示例 我们已经使用自定义模板尝试了各种方法 但无法使其工作 我们试图解决的具体问题是在下拉列表中显示地址列表 用户可以同时输入新地址 在组合框中输入内容没有问题 但多行却让我们丧命 如果我们想在
  • 如何绘制不在道路上的路线,MKMapView

    所以我一直在尝试使用 MKMapView 和叠加层来创建 不在道路上的道路 这可能听起来很奇怪 但我想做的是 在我的 iOS 应用程序中 我想绘制特定酒店提供的短途旅行路线 但是到目前为止我发现的所有帖子都集中在现有道路上 因为短途旅行会经
  • “外部 IP 地址”和“公共 IP 地址”这两个术语是同义词吗? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 外部IP地址与公共IP地址以及内部I
  • 使用 for in 循环使类可迭代?

    我有一个自定义类 class MyArrayClass 该类是一个自定义列表实现 我想做以下事情 var arr MyArrayClass MyArrayClass arr append first arr append second ar
  • 解释图像的`srcset`中的`w`

    据我了解 srcset用于根据以下内容确定要加载的图像dpi设备的 我在 Google Web Fundamentals 上看到了这个例子 它似乎使用了w单位连同vw单位恰好是视口宽度的 1 img src lighthouse 200 j
  • Eclipse IDE 中的 C++ 错误“nullptr 未在此范围内声明”

    我正在运行 Eclipse Helios 并且安装了 g 4 6 希望我没有错 g 4 6 实现了 C 11 功能 我创建了一个使用 nullptr 和 auto 关键字的 C 项目 构建出现以下错误 filename cpp 13 13
  • 如何在 Brackets 中设置 jslint ES6 指令?

    我收到此错误 需要一个标识符 但看到的是 const 我正在使用括号文本编辑器 我找到了这个答案 您需要指定 es6 指令 请参阅 JSLint 帮助 但我不知道如何在括号中指定 es6 指令 这是我的代码 const singleQuot
  • 如何在 Java 中启用客户端 TLS 会话重用 [重复]

    这个问题在这里已经有答案了 我有一个 Java 客户端 它可能会创建到同一服务器的多个会话 TLS 协议具有缓存会话密钥的功能 从而避免对每个连接进行昂贵的 PKI 处理 但我无法让它真正发挥作用 openssl s client reco
  • 如何在 C++ 中从 UTexture2D 读取数据

    我正在尝试从虚幻引擎 C 项目中填充的 UTexture2D 读取像素数据 在我在这里发布问题之前 我尝试使用此链接中描述的方法 https answers unrealengine com questions 25594 accessin
  • 为区域注册过滤器

    有没有办法为特定区域注册过滤器 例如下面的代码全局注册授权过滤器 强制进行身份验证 services AddMvc config gt var policy new AuthorizationPolicyBuilder RequireAut
  • URL 的锚点部分是否发送到 Web 服务器?

    比如说 有一个网址 http www example com hello 会不会 hello根据标准 是否将东西发送到网络服务器 现代浏览器如何运作 这个问题的答案与以下问题的答案类似检索 ASP NET URL 中的锚链接 https s
  • clojure 应用程序使用 eval 泄漏内存

    我的 clojure 应用程序评估单独定义的代码 edn文件在运行时 即如果 edn文件更改后 所包含的函数定义将重新加载到原子中 该原子不断用于计算 如果不受限制的话 应用程序似乎会在一段时间后填满 JVM 的元空间 无限制 堆空间使用情
  • IE问题:它可以处理多少个CSS包含?

    我在主题 Drupal 时遇到了一个奇怪的行为 我打开了一些模块 向页面添加了 5 到 10 个链接标签 虽然这些新的样式表被添加到 Firefox 的级联中 但在 IE8 中 通过添加这些样式表 浏览器会从层次结构中丢弃之前添加的 CSS
  • 找不到任何满足 newrelic-plugin-agent 要求的下载

    我尝试安装 MeetMenewrelic plugin agent如中所述https github com MeetMe newrelic plugin agent https github com MeetMe newrelic plug
  • DirectX12 - 执行命令列表和呈现函数

    我在微软的示例中发现 void D3D12HelloTriangle OnRender Record all the commands we need to render the scene into the command list Po
  • 如何检查进程是否具有管理权限

    如何正确检查进程是否以管理权限运行 我检查了IsUserAnAdimMSDN 中的函数 https msdn microsoft com en us library windows desktop bb776463 aspx 但不建议这样做