判断当前进程是否"以管理员身份运行"的

BOOL IsAdministrator() {//判断是否管理员模式

BOOL bIsElevated = FALSE;
HANDLE hToken = NULL;
UINT16 uWinVer = LOWORD(GetVersion());
uWinVer = MAKEWORD(HIBYTE(uWinVer),LOBYTE(uWinVer));

if (uWinVer < 0x0600))//不是VISTA、Windows7
return(FALSE);

if (OpenProcessToken(GetCurrentProcess(),TOKEN_QUERY,&hToken)) {

struct {
DWORD TokenIsElevated;
} /*TOKEN_ELEVATION*/te;
DWORD dwReturnLength = 0;

if (GetTokenInformation(hToken,/*TokenElevation*/(_TOKEN_INFORMATION_CLASS)20,&te,sizeof(te),&dwReturnLength)) {

if (dwReturnLength == sizeof(te))
bIsElevated = te.TokenIsElevated;
}
CloseHandle( hToken );
}
return bIsElevated;
}

时间: 2024-10-26 12:10:12

判断当前进程是否"以管理员身份运行"的的相关文章

C# WinForm判断Win7下是否是管理员身份运行

原文:C# WinForm判断Win7下是否是管理员身份运行如果程序不是以管理员身份运行,操作本地文件会提示:System.UnauthorizedAccessException异常 Vista 和 Windows 7 操作系统为了加强安全,增加了 UAC(用户账户控制) 的机制,如果 UAC 被打开,用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录,系统注册表等可能影响系统运行的设置进行写操作.这个机制大大增强了系统的安全性,但对应用程序开发者来说,我们不能强迫用户去关闭UAC

asp.net C# WinForm判断Win7下是否是管理员身份运行

我们在 win7 下运行一些安装程序时,会发现首先弹出一个对话框,让用户确认是否同意允许这个程序改变你的计算机配置,但我们编写的应用程序默认是不会弹出这个提示的,也无法以管理员权限运行.本文介绍了 C# 程序如何设置来提示用户以管理员权限运行. 首先在项目中增加一个 Application Manifest File     默认的配置如下:  代码如下 复制代码 <?xml version="1.0" encoding="utf-8"?> <as

C#默认以管理员身份运行程序实现代码

 权限不够,导致无法修改系统时间,于是我以管理员身份运行了一次,结果测试成功,下面为大家介绍下C#如何默认以管理员身份运行程序 上篇博客写了一下如何通过网络时间更新系统时间,当时写的时候怎么测试都不成功,后来想想是不是我操作系统(当时是在win8上开发的)的问题.当时我猜应该是权限不够,导致无法修改系统时间,于是我以管理员身份运行了一次,结果测试成功!原来真的是权限的问题,于是就在程序里面加入了默认以管理员身份运行的代码.下面让我们看看是怎么实现的吧!    程序默认以管理员身份运行  代码如下

C#默认以管理员身份运行程序实现代码_实用技巧

上篇博客写了一下如何通过网络时间更新系统时间,当时写的时候怎么测试都不成功,后来想想是不是我操作系统(当时是在win8上开发的)的问题.当时我猜应该是权限不够,导致无法修改系统时间,于是我以管理员身份运行了一次,结果测试成功!原来真的是权限的问题,于是就在程序里面加入了默认以管理员身份运行的代码.下面让我们看看是怎么实现的吧! 程序默认以管理员身份运行 复制代码 代码如下: static void Main(string[] Args) { /** * 当前用户是管理员的时候,直接启动应用程序

Win7右键菜单没有以管理员身份运行选项怎么办 Win7右键菜单没有以管理员身份运行选项的解决方法

操作步骤: 1.在桌面右击计算机图标,选择"管理": 2.展开至计算机管理>系统工具>本地用户和组>用户,在右侧找到并打开Administrator: 3.在Administrator属性界面中,取消勾选"帐户已禁用",点击确定即可: 4.完成设置后,之后在Administrator帐户中,所有的程序都将以管理员的身份进行. 以上就是小编带来的Win7右键菜单没有"以管理员身份运行"选项的添加方法,管理员权限运行软件集成在右键的

window 快捷方式以管理员身份运行

Windows中如何让快捷方式以管理员身份运行呢?      

vista(x86)中以管理员身份运行VC程序

方法一.(http://topic.csdn.net/u/20070303/15/457ee919-8a0b-46c4-9dd7-8606631e2108.html) 在exe的工程中找manifest   中的最后一行之前加下面的代码:进行编译就可以了, <ms_asmv3:trustInfo xmlns:ms_asmv3= "urn:schemas-microsoft-com:asm.v3 "> <ms_asmv3:security xmlns:ms_asmv3=

Win8系统运行软件需要以管理员身份运行怎么办?

Win8系统运行软件需要以管理员身份运行怎么办? 1.右击某一软件--选择属性; 2.在属性窗口中点击高级--勾选上以管理员身份运行该软件,点击确定即可. 二.如果是屏蔽提示需要管理员权限来运行的软件,这是因为开启了用户帐户通知的功能,将其关闭即可.关闭方法如下: 1.右击开始按钮,选择控制面板; 2.找到并点击用户帐户选项; 3.在用户帐户中,点击更改帐户控制设置; 4.将滑块拉到从不通知,然后点击确定即可屏蔽运行需要管理员权限软件的通知,前提你的当前帐户必须是拥有管理员权限.

Win7下如何让程序始终以管理员身份运行

在Win7中,有些程序必须"以管理员身份运行"才能正常使用,一般情况下,在开启这类程序时,用鼠标右键点击程序图标,然后选择"以管理员身份运行"就可以了.虽然操作简单,但Win7中的程序那么多,难免有时会忘记.那么,如何能让程序在Win7下始终以管理员身份运行呢?方法其实很简单. 首先,同样用鼠标右键点击程序图标,然后选择"属性". 打开程序属性 切换到"兼容性"选项卡,勾选最下方的"以管理员身份运行".