Saya ingin membuat aplikasi WPF saya membuka browser default dan membuka halaman web tertentu. Bagaimana aku melakukan itu?
126
System.Diagnostics.Process.Start("http://www.webpage.com");
Salah satunya.
Saya telah menggunakan baris ini untuk meluncurkan browser default:
sumber
Jawaban yang diterima tidak lagi berfungsi di .NET Core 3 . Untuk membuatnya berhasil, gunakan metode berikut:
sumber
Meskipun jawaban yang bagus telah diberikan (menggunakan
Process.Start
), akan lebih aman untuk merangkumnya dalam fungsi yang memeriksa bahwa string yang diteruskan memang URI, untuk menghindari memulai proses acak pada mesin secara tidak sengaja.sumber
Microsoft menjelaskannya di artikel KB305703 tentang Cara memulai peramban Internet default secara terprogram menggunakan Visual C # .
Jangan lupa untuk memeriksa bagian Troubleshooting.
sumber
Anda tidak dapat meluncurkan halaman web dari aplikasi yang ditinggikan. Ini akan memunculkan pengecualian 0x800004005, mungkin karena explorer.exe dan browser sedang berjalan non-elevasi.
Untuk meluncurkan halaman web dari aplikasi yang ditinggikan di browser web non-elevasi, gunakan kode yang dibuat oleh Mike Feng . Saya mencoba meneruskan URL ke lpApplicationName tetapi tidak berhasil. Juga tidak ketika saya menggunakan CreateProcessWithTokenW dengan lpApplicationName = "explorer.exe" (atau iexplore.exe) dan lpCommandLine = url.
Solusi berikut ini berhasil: Buat proyek EXE kecil yang memiliki satu tugas: Process.Start (url), gunakan CreateProcessWithTokenW untuk menjalankan .EXE ini. Di Windows 8 RC saya, ini berfungsi dengan baik dan membuka halaman web di Google Chrome.
sumber
Explorer.exe
untuk menurunkan tidak didukung: "Sayangnya, tim Windows Shell telah menjawab bahwa perilaku saat ini" Explorer.exe AppName.exe "adalah bug dan mungkin tidak berfungsi di pembaruan / versi Windows mendatang. Aplikasi seharusnya tidak mengandalkannya. "Ini kode lengkap saya cara membukanya.
ada 2 pilihan:
buka menggunakan browser default (perilaku seperti dibuka di dalam jendela browser)
buka melalui opsi perintah default (perilakunya seperti Anda menggunakan perintah "RUN.EXE")
buka melalui 'explorer' (perilakunya seperti Anda menulis url di dalam url jendela folder Anda)
[saran opsional] 4. gunakan lokasi proses iexplore untuk membuka url yang diperlukan
KODE:
dan fungsi Helper:
Semoga saya membantu.
sumber
GetWindowsPath
?Cara sekolah lama;)
Menggunakan:
openit("www.google.com");
sumber
Saya memiliki solusi untuk ini karena saya memiliki masalah serupa hari ini.
Misalkan Anda ingin membuka http://google.com dari aplikasi yang berjalan dengan hak istimewa admin:
sumber