我有一个问题,当我执行在其清单中请求管理员权限的命令行帮助程序时,Windows 8用户帐户控制(UAC)弹出窗口被最小化.UAC弹出窗口在Windows任务栏中闪烁黄色,导致令人困惑的用户体验:
单击任务栏图标后,UAC警报显示:
在Windows 7中,UAC警报未最小化,但显示在前台.有关如何在Windows 8中解决此问题的任何想法?
作为参考,我的主应用程序在用户权限下运行并执行辅助程序ShellExecuteEx
.我设置ShellExecuteEx
的TShellExecuteInfo.nShow
到SW_SHOW
.
MSDN说"你必须通过ShellExecute传递父HWND ......"并解释说,
UAC提升机制使用HWND作为确定高程是背景高程还是前景高程的一部分.如果确定应用程序是后台应用程序,则高程将作为闪烁按钮放在任务栏上...
务必提供前景窗口的句柄ShellExecuteEx
.