首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检查进程是否正在以管理员身份/从另一个应用程序提升身份运行- Windows 10

检查进程是否正在以管理员身份/从另一个应用程序提升身份运行- Windows 10
EN

Stack Overflow用户
提问于 2019-01-23 23:58:23
回答 1查看 385关注 0票数 0

有没有一种方法可以检查现有进程是否已经以管理员身份/从VB .Net WinForm应用程序提升运行?我有一个通过API连接到主应用程序的实用程序。这在Windows7上运行得很好,但在Windows10上,我的实用程序无法通过API连接到主程序。我试了很多东西,但都不管用。最后,我发现如果我以管理员身份运行主程序,我的API实用程序就会像这样工作/连接。我查看了Process类(https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.process?view=netframework-4.7.2)的文档,但没有发现任何明显的提升的执行属性。任何建议或代码片段将不胜感激。

在Windows10任务管理器中,您可以查看进程是否以提升的身份运行。我只需要一些东西来捕获代码中的这一点。

EN

回答 1

Stack Overflow用户

发布于 2019-11-28 00:05:48

经过一些测试,我发现在添加了以下设置的app.manifest文件并在代码中添加了属性IsElevated后,我可以看到exe是否在任务管理器中以提升的身份运行。希望这篇文章能帮助任何寻找类似问题的人。

从app.manifest文件:

代码语言:javascript
复制
Public ReadOnly Property IsElevated As Boolean
    Get
        Return New WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator)
    End Get
End Property

在代码中使用时:

代码语言:javascript
复制
If IsElevated = True Then
                Me.Text = "TEST Utility - Administrator (Elevated)"
            End If
            If IsElevated = False Then
                Me.Text = "TEST Utility - Normal (Non-Elevated)"
            End If
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54331120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档