KB : 让你的应用程序以系统管理员的身份执行
作者:互联网
摘要:How to:让你的应用程序以系统管理员的身份执行
今天再测试东西的时候发生一件怪事情,我使用EventLog类写入系统Log,但无论如何都会都会返回一个例外状况SecurityException。
咦...见鬼了,我之前这样做明明都没问题。马上心里浮现一个念头,会不会是因为在Vista上受到UAC的限制?
查了一下MSDN文档库后果然看到下面这个叙述
如果要在 Windows Vista、Windows XP Professional 或 Windows Server 2003 中搜寻事件来源,您必须拥有系统管理员权限。 有这项需求是因为必须搜寻所有事件记录档 (包括安全性),以判断事件来源是否为唯一。在 Windows Vista 中,使用者没有存取安全性记录档的权限,因此会掷回 SecurityException。 在 Windows Vista 中,使用者的权限是由使用者账户控件 (UAC) 决定。如果您是内建 Administrators 群组的成员,系统会将两个执行阶段存取语汇基元 (Token) 指派给您:标准使用者存取语汇基元及管理员存取语汇基元。根据默认,您会属于标准使用者角色。若要执行会存取性能计数器的程序,您必须先将您的权限从标准使用者提高为系统管理员。您可以在启动应用程序时进行这项处理,其方式是以鼠标右键按一下应用程序图示,并指出您想要以系统管理员的身份执行。 |
问题来了...总不可能每次都要USER以鼠标右键安一下应用程序图示,然后选择以系统管理员身份执行。
皇天不负苦心了,在我向Google大神求救后,得到了解决的方法。
Run an Application in Vista with Administrator
1.请在你的应用程序中,加入一个【应用程序资讯清单文件 / app.manifest】。
2.修改新加入的app.manifest内容未下面这样即可。
参考数据
- Run as Administrator - Run an application in Vista with Administrator rights using app.manifest - UI with Basil Goldman
<a href="http://www.facebook.com/sharer.php" _cke_saved_href="http://www.facebook.com/sharer.php" type="button_count" name="fb_share">分享</a>
原文:大专栏 KB : 让你的应用程序以系统管理员的身份执行
标签:KB,Vista,系统管理员,应用程序,Windows,使用者,存取 来源: https://www.cnblogs.com/petewell/p/11489946.html