Come posso avere un pulsante nella mia applicazione desktop che fa sì che il browser predefinito dell'utente venga avviato e visualizzi un URL fornito dalla logica dell'applicazione.Come posso avviare un URL nel browser predefinito degli utenti dalla mia applicazione?
30
A
risposta
57
Process.Start("http://www.google.com");
19
Process.Start ([your url]) è davvero la risposta, in tutti i casi, ma estremamente di nicchia. Per completezza, tuttavia, menzionerò che ci siamo imbattuti in un caso di nicchia qualche tempo fa: se stai provando ad aprire un "file: \" url (nel nostro caso, per mostrare la copia locale installata del nostro webhelp), nel lanciare dalla shell, i parametri per l'url sono stati buttati fuori.
La nostra soluzione piuttosto hackish, che io non consiglio a meno che non si verifica un problema con la soluzione "corretta", sembrava qualcosa di simile:
Nel gestore clic per il pulsante:
string browserPath = GetBrowserPath();
if (browserPath == string.Empty)
browserPath = "iexplore";
Process process = new Process();
process.StartInfo = new ProcessStartInfo(browserPath);
process.StartInfo.Arguments = "\"" + [whatever url you're trying to open] + "\"";
process.Start();
la funzione brutto che non si dovrebbe usare meno che Process.Start ([tuo url]) non fa quello che ci si aspetta che sta andando a:
private static string GetBrowserPath()
{
string browser = string.Empty;
RegistryKey key = null;
try
{
// try location of default browser path in XP
key = Registry.ClassesRoot.OpenSubKey(@"HTTP\shell\open\command", false);
// try location of default browser path in Vista
if (key == null)
{
key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http", false); ;
}
if (key != null)
{
//trim off quotes
browser = key.GetValue(null).ToString().ToLower().Replace("\"", "");
if (!browser.EndsWith("exe"))
{
//get rid of everything after the ".exe"
browser = browser.Substring(0, browser.LastIndexOf(".exe") + 4);
}
key.Close();
}
}
catch
{
return string.Empty;
}
return browser;
}
Problemi correlati
- 1. API speciale per avviare un'applicazione dalla mia applicazione
- 2. Impossibile avviare l'applicazione chiamando un URL dal browser Android
- 3. Aprire un URL nel browser Web predefinito in WinRT
- 4. Come concedere l'autorizzazione completa a un file creato dalla mia applicazione per TUTTI gli utenti?
- 5. Apri applicazione e-mail dalla mia applicazione
- 6. avviare l'applicazione dallo schema URL del browser
- 7. Invia MMS dalla mia applicazione in Android
- 8. Come posso avviare la mia applicazione come "Esegui come amministratore" con forza?
- 9. Apertura di un URL nel browser predefinito in un'applicazione desktop Windows 8
- 10. Ruby/Rails - Rimuovi ActiveAdmin dalla mia applicazione
- 11. Come avviare app Android all'interno della mia applicazione in Android?
- 12. RegKey di Windows - Percorso applicazione browser predefinito
- 13. prestazioni video rtsp come intent intentato dal browser rispetto all'intento attivato dalla mia applicazione
- 14. in un controller in asp.net-mvc come posso ottenere informazioni sul browser degli utenti?
- 15. GoogleApps - Come posso distribuire la mia applicazione
- 16. Ripristina risultati/classifica dalla mia applicazione Android
- 17. Come posso riavviare la mia applicazione iphone
- 18. Come posso incorporare CEF3 nella mia applicazione OSX?
- 19. Come modificare l'URL nel browser senza spostarsi dalla pagina?
- 20. Come ottenere l'elenco degli utenti dalla directory LDAP usando PHP?
- 21. Come proteggere la mia applicazione web java?
- 22. Come posso inviare un fax con la mia applicazione Qt?
- 23. Delphi: Applicazione registrazione degli errori nel campo
- 24. come inviare una mail dalla mia applicazione iOS- SWIFT
- 25. Avvio la mia applicazione di debug MVC3 apre un file .cshtml specifica nel browser
- 26. Posso distribuire un JDK con la mia applicazione?
- 27. Come posso eseguire il debug remoto della mia applicazione rcp?
- 28. Swift: quando si tenta di aprire un URL in Safari dalla mia app, viene visualizzato un errore quando si tenta di aprire un URL dalla mia app
- 29. Come ottenere l'URL dalla barra degli indirizzi del browser?
- 30. Come posso integrare AirPush Ads nella mia applicazione Android?
grazie per le informazioni aggiuntive –
Questo è codifica estremamente piacevole – BoundForGlory
Questa risposta potrebbe utilizzare un aggiornamento per includere Win8 e Win10. (Se qualcuno finisce per implementarlo, modifica questa risposta per includerlo!) – ANeves