![]() |
1
3
你是对的。大多数人只是在按钮将被提升的情况下打开防护罩,但正确的做法是在按钮将导致提升的情况下打开防护罩(即,如果您已经被提升,则抑制它,因为您启动的所有内容都将保持提升状态,除非您费劲启动非提升进程,如果UAC关闭,则抑制它)
好消息是,如果Administrators组中有人(在UAC下)运行一个非提升的应用程序,那么您将返回
|
![]() |
2
2
我看到关于这个话题有很多困惑,凯特的回答是不正确和不完整的。 因为Vista管理员可以登录,但是他的进程不会自动运行。管理员有一个所谓的“分割令牌”。这意味着可能存在为同一管理用户运行的进程,其中一些进程运行提升,而另一些进程不运行提升。当管理员运行未提升的进程时,其令牌的某些特权已被删除。它不再像XP那样所有进程都运行在提升或不提升状态。 安装 进程管理 当UAC完全关闭时,所有进程都运行“高”,因此不需要提升。UAC可在以下条件下关闭
但这里还有一点没有提到。 在控制面板中,可以配置“提升而不提示”。在这种情况下,管理员用户可以从另一个未提升的进程启动提升的进程,并且不会显示UAC提示。
呼叫
因此,如果只想在确实需要提升时才显示图标,则必须检查进程是否提升运行,另外还要检查这些注册表项,并且必须知道用户是否是管理员。这需要几行代码,我会考虑在提升时始终显示此图标 可以 必须保持简单。
请注意API
|
![]() |
Community wiki · 需要改变的用户界面模式? 1 年前 |
![]() |
LITzman · 使用状态处理颜色主题更改 1 年前 |
![]() |
Community wiki · 进程。退出(0):输出消失? 2 年前 |
![]() |
arsaces · 将文本添加到特定文件的末尾 2 年前 |
![]() |
YGranja · 库<图形。h> MinGW-W64缺少 2 年前 |
![]() |
Felipe Palermo · Ctrl键仍被按下,按键事件() 3 年前 |
![]() |
HCJ · win cmd中的批处理脚本循环 3 年前 |