关于 User Account Control 的问题!

Rason401 2008-02-15 03:40:26
用C#开发Vista的程序, 在标准用户下运行时某些button 的触发需要提升权限才能响应. 比如像在标准用户下,调整日期和时间会弹出一个 "用户帐户控制的窗口" 让你输入administrator用户的密码,输入正确后才能调整日期和时间.


我想知道的是,产生这个"用户帐户控制的窗口"有没有什么API能够调用, 这样可以让我编写的Vista的应用程序在标准用户下运行时某些button 的触发可以弹出这样的窗口.


或者其他方法可以达到这样的效果? 谢谢~~~
...全文
252 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Rason401 2008-02-19
  • 打赏
  • 举报
回复
还有个问题就是, 还是写不了注册表啊! LocalMachine中的!
Rason401 2008-02-18
  • 打赏
  • 举报
回复
well, 搞定了~ 谢谢诸位, especial lextm and syeerzy
amandag 2008-02-17
  • 打赏
  • 举报
回复
开始开发Vista下的程序了..
真相重于对错 2008-02-17
  • 打赏
  • 举报
回复
use process call

runas

lextm 2008-02-16
  • 打赏
  • 举报
回复
想做出类似Vista那种按钮C#很麻烦,需要用一点COM之类的东西。不用COM的话,可以参考这个文章,

http://www.codeproject.com/KB/vista-security/UAC_Shield_for_Elevation.aspx
syeerzy 2008-02-15
  • 打赏
  • 举报
回复
不需要你编写哪怕一行代码~~~

操作系统发现程序的行为需要提升权限时就自动弹出,比如如果你的代码里面点击按钮以后要修改注册表一个全局配置的话,必然你点完那个UAC窗口就出来了~~~




如果你需要做的操作是不需要UAC提权的,而你又需要让它弹出来,有个简单的方式是对你代码中对应得部分用 特性 [Attributes] 声明一个较高的执行权限。

不推荐直接调用Vista的UAC相关API来做这件事,一是兼容性差,导致在非Vista系统上出错,二是UAC是允许用户打开关闭的,这样做又有越俎代庖的嫌疑。如果按上面那种方式则在用户关闭UAC时并不弹出,尊重用户的选择。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧