2009-12-17 58 views
2

我的產品需要更改文件關聯。爲了讓它在Vista中以非管理員身份運行,我已將註冊表更改代碼移動到名爲「assocsetup.exe」的單獨二進制文件中。將用戶帳戶控制窗口置於前面

啓動時,Vista UAC正確請求權限以「A程序需要您的許可繼續」消息作爲管理員身份運行。

但是,它並沒有立即提前。它只是閃爍它在任務欄上的條目,用戶必須點擊它才能打開UAC窗口。

是否有任何方法可以自動使UAC窗口可見,以避免任務欄單擊?

謝謝!

回答

1

常識在這裏,但由於UAC在窗口焦點上觸發提示,是不是有一種方法來關注assocsetup.exe窗口,因此它可以調暗桌面和提示?

+0

是的這就是我想知道的。我嘗試使用EnumWindows來查找進程,但在創建進程之前顯示提示,所以我無法枚舉窗口以查找UAC窗口。 – dribler 2009-12-17 20:48:38

2

你不說如何開始你的助手程序,但我假設你正在使用的ShellExecute(沒有指定的標記語言)

記住要傳遞HWND當前窗口到ShellExecute的[ Ex](這個窗口需要是UAC對話框顯示爲活動窗口的這個調用時的前景窗口)