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

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(使用前将#替换为@)

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

  • 如何将 std::string& 转换为 C# 引用字符串

    我正在尝试将 C 函数转换为std string参考C 我的 API 如下所示 void GetStringDemo std string str 理想情况下 我希望在 C 中看到类似的东西 void GetStringDemoWrap r
  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 根据属性的类型使用文本框或复选框

    如果我有这样的结构 public class Parent public string Name get set public List
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 需要帮助优化算法 - 两百万以下所有素数的总和

    我正在尝试做一个欧拉计划 http projecteuler net问题 我正在寻找 2 000 000 以下所有素数的总和 这就是我所拥有的 int main int argc char argv unsigned long int su
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 两个静态变量同名(两个不同的文件),并在任何其他文件中 extern 其中一个

    在一个文件中将变量声明为 static 并在另一个文件中进行 extern 声明 我认为这会在链接时出现错误 因为 extern 变量不会在任何对象中看到 因为在其他文件中声明的变量带有限定符 static 但不知何故 链接器 瑞萨 没有显
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C++ 继承的内存布局

    如果我有两个类 一个类继承另一个类 并且子类仅包含函数 那么这两个类的内存布局是否相同 e g class Base int a b c class Derived public Base only functions 我读过编译器无法对数
  • 使用特定参数从 SQL 数据库填充组合框

    我在使用参数从 sql server 获取特定值时遇到问题 任何人都可以解释一下为什么它在 winfom 上工作但在 wpf 上不起作用以及我如何修复它 我的代码 private void UpdateItems COMBOBOX1 Ite
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的

随机推荐

  • 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 但不建议这样做