Desejo que meu aplicativo WPF abra o navegador padrão e vá para uma determinada página da web. Como faço isso?
126
System.Diagnostics.Process.Start("http://www.webpage.com");
Uma de muitas maneiras.
Eu tenho usado esta linha para iniciar o navegador padrão:
fonte
A resposta aceita não funciona mais no .NET Core 3 . Para fazê-lo funcionar, use o seguinte método:
fonte
Embora tenha sido dada uma boa resposta (usando
Process.Start
), é mais seguro encapsulá-la em uma função que verifica se a sequência passada é realmente um URI, para evitar iniciar acidentalmente processos aleatórios na máquina.fonte
A Microsoft explica no artigo KB305703 sobre Como iniciar o navegador da Internet padrão programaticamente usando o Visual C # .
Não se esqueça de verificar a seção Solução de problemas.
fonte
Você não pode iniciar uma página da web a partir de um aplicativo elevado. Isso gerará uma exceção 0x800004005, provavelmente porque o explorer.exe e o navegador não estão sendo elevados.
Para iniciar uma página da Web a partir de um aplicativo elevado em um navegador não elevado, use o código criado por Mike Feng . Tentei passar o URL para lpApplicationName, mas isso não funcionou. Também não quando eu uso CreateProcessWithTokenW com lpApplicationName = "explorer.exe" (ou seja, xexplore.exe) e lpCommandLine = url.
A seguinte solução alternativa funciona: Crie um pequeno projeto EXE que tenha uma tarefa: Process.Start (url), use CreateProcessWithTokenW para executar este .EXE. No meu Windows 8 RC, isso funciona bem e abre a página da web no Google Chrome.
fonte
Explorer.exe
: não é possível usar o comando para remover a elevação: "Infelizmente, a equipe do Windows Shell respondeu que o comportamento atual de" Explorer.exe AppName.exe "é um bug e pode não funcionar em futuras atualizações / versões do Windows. Aplicativos não deve confiar nele. "Aqui está o meu código completo de como abrir.
existem 2 opções:
abrir usando o navegador padrão (o comportamento é como o aberto dentro da janela do navegador)
aberto através das opções de comando padrão (o comportamento é como você usa o comando "RUN.EXE")
aberto através do 'explorer' (o comportamento é como o que você escreveu na URL da janela da pasta)
[sugestão opcional] 4. use o local do processo iexplore para abrir o URL necessário
CÓDIGO:
e a função Auxiliar:
Espero ter ajudado.
fonte
GetWindowsPath
?O jeito da velha escola;)
Usar:
openit("www.google.com");
fonte
Eu tenho a solução para isso devido a um problema semelhante hoje.
Suponha que você queira abrir http://google.com a partir de um aplicativo em execução com privilégios de administrador:
fonte