7

我有一个问题,当我执行命令行帮助程序时,Windows 8 用户帐户控制 (UAC) 弹出窗口会在其清单中请求管理员权限。UAC 弹出窗口只是在 Windows 任务栏中闪烁黄色,导致用户体验混乱:

最小化 UAC

单击任务栏图标后,UAC 警报显示:

UAC 警报

在 Windows 7 中,UAC 警报并未最小化,而是显示在前台。有关如何在 Windows 8 中解决此问题的任何想法?

作为参考,我的主应用程序在用户权限下运行,并使用ShellExecuteEx. 我正在设置ShellExecuteExTShellExecuteInfo.nShowSW_SHOW

4

1 回答 1

9

MSDN“.. 你必须通过 ShellExecute 传递父 HWND ..”并解释说,

UAC 高程机制使用 HWND 作为确定高程是背景高程还是前景高程的一部分。如果应用程序被确定为后台应用程序,则海拔将作为闪烁按钮放置在任务栏上。..

确保将前台窗口的句柄提供给ShellExecuteEx.

于 2013-12-04T22:36:47.587 回答