编程语言
首页 > 编程语言> > KB : 让你的应用程序以系统管理员的身份执行

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内容未下面这样即可。

 参考数据

&amplt;a href=&quothttp://www.facebook.com/sharer.php&quot _cke_saved_href=&quothttp://www.facebook.com/sharer.php&quot type=&quotbutton_count&quot name=&quotfb_share&quot&ampgt;分享&amplt;/a&ampgt;

原文:大专栏  KB : 让你的应用程序以系统管理员的身份执行


标签:KB,Vista,系统管理员,应用程序,Windows,使用者,存取
来源: https://www.cnblogs.com/petewell/p/11489946.html