Я хочу, чтобы мое приложение WPF открывало браузер по умолчанию и переходило на определенную веб-страницу. Как я могу это сделать?
126
System.Diagnostics.Process.Start("http://www.webpage.com");
Один из многих способов.
Я использовал эту строку для запуска браузера по умолчанию:
источник
Принятый ответ больше не работает в .NET Core 3 . Чтобы он заработал, воспользуйтесь следующим методом:
источник
Хотя был дан хороший ответ (с использованием
Process.Start
), безопаснее инкапсулировать его в функцию, которая проверяет, действительно ли переданная строка является URI, чтобы избежать случайного запуска случайных процессов на машине.источник
Microsoft объясняет это в статье KB305703 о том, как программно запустить Интернет-браузер по умолчанию с помощью Visual C # .
Не забудьте проверить раздел «Устранение неполадок».
источник
Вы не можете запустить веб-страницу из приложения с повышенными привилегиями. Это вызовет исключение 0x800004005, вероятно, потому, что explorer.exe и браузер работают без повышенных прав.
Чтобы запустить веб-страницу из приложения с повышенными правами в браузере без повышенных прав, используйте код, созданный Майком Фэном . Я попытался передать URL-адрес lpApplicationName, но это не сработало. Также не когда я использую CreateProcessWithTokenW с lpApplicationName = "explorer.exe" (или iexplore.exe) и lpCommandLine = url.
Следующее обходное решение действительно работает: Создайте небольшой EXE-проект с одной задачей: Process.Start (url), используйте CreateProcessWithTokenW для запуска этого .EXE. На моем Windows 8 RC это работает нормально и открывает веб-страницу в Google Chrome.
источник
Explorer.exe
для понижения уровня не поддерживается: «К сожалению, команда Windows Shell ответила, что текущее поведение« Explorer.exe AppName.exe »является ошибкой и может не работать в будущих обновлениях / версиях Windows. Приложения не следует полагаться на это ".Вот мой полный код, как открыть.
есть 2 варианта:
открыть в браузере по умолчанию (поведение похоже на открытие в окне браузера)
открыть с помощью параметров команды по умолчанию (поведение похоже на использование команды "RUN.EXE")
открыть через `` проводник '' (поведение похоже на то, что вы написали URL-адрес внутри URL-адреса окна папки)
[необязательное предложение] 4. Используйте местоположение процесса iexplore, чтобы открыть требуемый URL
КОД:
и вспомогательная функция:
Надеюсь, я помог.
источник
GetWindowsPath
?Старая школа;)
Использование:
openit("www.google.com");
источник
У меня есть решение, потому что сегодня у меня похожая проблема.
Предположим, вы хотите открыть http://google.com из приложения, работающего с правами администратора:
источник