Есть программа С++(API MFC). У нее есть install/uninstall самописный.
Если выбрать Control Panel->Add or Remove programs
И начать удалять программу. То в конце, программа запускает
::ShellExecute(NULL, "open", sURL, NULL, NULL, SW_SHOWNORMAL);
Открывает окно браузера с сайтом. А сам uninslall-ер закрывается. Так вот пока не закроешь окно браузера, окно Add or Remove programs висит и ждет завершение браузера.
Вопрос: Как мне открывать браузер из uninslall-ера чтобы окно Add or Remove programs не ждало когда закроется браузер, а отвисало сразу после выхода uninslall-ера???
Можно, например, вычитать из реестра путь к текущему интернет браузеру и сделать CreateProcess с нужными параметрами.
Re[2]: Uninstall
От:
Аноним
Дата:
22.02.07 13:31
Оценка:
Здравствуйте, kirill_kl, Вы писали:
_>Можно, например, вычитать из реестра путь к текущему интернет браузеру и сделать CreateProcess с нужными параметрами.
Только должен предупредить, что Касперский например орёт на запуск броузера с параметрами.
KA>Добрый день.
KA>Есть программа С++(API MFC). У нее есть install/uninstall самописный. KA>Если выбрать Control Panel->Add or Remove programs KA>И начать удалять программу. То в конце, программа запускает KA>::ShellExecute(NULL, "open", sURL, NULL, NULL, SW_SHOWNORMAL); KA>Открывает окно браузера с сайтом. А сам uninslall-ер закрывается. Так вот пока не закроешь окно браузера, окно Add or Remove programs висит и ждет завершение браузера. KA>Вопрос: Как мне открывать браузер из uninslall-ера чтобы окно Add or Remove programs не ждало когда закроется браузер, а отвисало сразу после выхода uninslall-ера???
Насколько я помню, такое поведение там связано с Job — uninstall создается в отдельном Job. Вроде как решения были приведены — попробуйте поиском по форуму. Самое простое — CreateProcess + CREATE_BREAKAWAY_FROM_JOB.