2012-05-14 112 views
1

可以使用什么Windows API函数来检查运行我的应用程序的当前用户是否具有管理权限?如何检查当前用户是否具有管理权限

这里是我的OS详细信息:Windows XP,Vista和Windows 7
所使用的语言:C

+1

您的意思是,如果当前登录的用户是管理员?如果当前进程使用管理员权限运行? –

+0

你在找什么功能?安装硬件?软件?即使管理员模式也可能受到限制。 – RedX

+0

我的目标是安装具有“Windows服务”和“Dpinst.exe”的应用程序,其中两者都需要管理员权限。因此,在我的应用程序开始时,我需要检查系统是否处于管理模式,如果它不处于管理员模式,我希望应用程序向用户显示一条消息以更改为管理员模式。 – 2vision2

回答

2

即使用户具有管理权限,但并不意味着您的程序会 - 它需要提升。这可以通过用户明确地要求以管理员的身份运行来完成,但通常通过嵌入可执行文件的清单由程序本身来请求。一旦清单要求特权,它不是可选的 - 程序将不会运行,直到用户批准它并根据需要提供密码。

+0

其实问题不是“如何在“但是”下检测正在运行或将要运行的凭证如何检查当前用户是否具有管理权限。“ – mox

+0

@mox,如果您查看问题下的评论,您将看到他们真正想要的是始终以管理员权限运行他们的程序。检查权限级别的唯一原因是抛出一个错误框,Windows将自动为您执行此操作。 –

2

壳牌API具有执行此功能IsUserAnAdmin()。不需要搞乱令牌。

相关问题