具有管理员权限的Delphi外部exe在Windows 8中最小化

spu*_*eon 7 windows delphi uac exe shellexecuteex

我有一个问题,当我执行在其清单中请求管理员权限的命令行帮助程序时,Windows 8用户帐户控制(UAC)弹出窗口被最小化.UAC弹出窗口在Windows任务栏中闪烁黄色,导致令人困惑的用户体验:

最小化UAC

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

UAC警报

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

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

Ser*_*yuz 8

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

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

务必提供前景窗口的句柄ShellExecuteEx.