Вывести окно контроля учетных записей пользователей на передний план - PullRequest
2 голосов
/ 17 декабря 2009

Мой продукт должен изменить ассоциацию файлов. Чтобы позволить ему работать без прав администратора в Vista, я переместил код изменения реестра в отдельный двоичный файл с именем «assocsetup.exe».

При запуске Vista UAC правильно запрашивает разрешение на запуск от имени администратора с сообщением «Для продолжения требуется программа».

Однако, это не выводит это сразу. Он просто мигает своей записью на панели задач, и пользователь должен щелкнуть по ней, чтобы открыть окно UAC.

Есть ли способ автоматически сделать окно UAC видимым, чтобы избежать щелчка на панели задач?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 19 декабря 2009

Вы не говорите, как запускаете вспомогательную программу, но я предполагаю, что вы используете ShellExecute (вы не указали язык в тегах)

Не забудьте передать HWND вашего текущего окна в ShellExecute [Ex] (это окно должно быть окном переднего плана, когда выполняется этот вызов, чтобы диалоговое окно UAC отображалось как активное окно)

1 голос
/ 17 декабря 2009

Здравый смысл здесь, но, поскольку UAC вызывает подсказку о фокусе окна, разве нет способа сфокусировать окно assocsetup.exe, чтобы оно могло затемнить рабочий стол и запрос?

...