【问题标题】:Bring User Account Control window to front将用户帐户控制窗口置于前面
【发布时间】:2009-12-17 20:23:21
【问题描述】:

我的产品需要更改文件关联。为了让它在 Vista 中以非管理员身份运行,我已将注册表更改代码移动到名为“assocsetup.exe”的单独二进制文件中。

启动时,Vista UAC 正确地请求权限以管理员身份运行它,并显示“程序需要您的权限才能继续”消息。

但是,它不会立即将其带到前面。它只是在任务栏上闪烁其条目,用户必须单击它才能打开 UAC 窗口。

有什么方法可以自动使 UAC 窗口可见,从而避免点击任务栏?

谢谢!

【问题讨论】:

    标签: uac


    【解决方案1】:

    您没有说明如何启动帮助程序,但我假设您使用的是 ShellExecute(您没有在标签中指定语言)

    记得将你当前窗口的 HWND 传递给 ShellExecute[Ex](这个窗口需要是前台窗口,当这个调用被 UAC 对话框显示为活动窗口时)

    【讨论】:

      【解决方案2】:

      常识就到这里了,但是既然UAC触发Window focus上的提示,有没有办法让assocsetup.exe Window聚焦,这样就可以调暗桌面和提示了?

      【讨论】:

      • 是的,这就是我想知道的。我尝试EnumWindows查找进程,但是在创建进程之前显示提示,所以无法枚举windows查找UAC窗口。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 2011-11-04
      • 2012-10-08
      • 2011-10-07
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      相关资源
      最近更新 更多