Varsayılan İnternet tarayıcısını program aracılığıyla başlatmak için Visual C# kullanma
Bu makalede, Visual C# kullanarak varsayılan İnternet tarayıcısını başlatma gösterilmektedir.
Özgün ürün sürümü: Visual Studio
Özgün KB numarası: 305703
Not
- Bu makale, Microsoft .NET Framework Sınıf Kitaplığı ad alanını
System.Diagnostics
ifade eder. - Bu makalenin Visual C++ .NET sürümü için bkz. Visual C++ kullanarak varsayılan İnternet tarayıcısını program aracılığıyla başlatma.
Açılacak URL' yi, FTP'yi veya dosyayı belirtin
URL, dosya veya Dosya Aktarım Protokolü (FTP) adresi belirtebilirsiniz. Bu atamaların üçü de geçerlidir:
string target= "http://www.microsoft.com";
string target = "ftp://ftp.microsoft.com";
string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
Tarayıcıyı başlatmak için İşlem sınıfı Başlangıç yöntemini kullanın
Process
sınıfı statik Start
bir yöntem içerir. Statik bir yöntem olduğundan, sınıfın Process
bir örneğine sahip olmadan çağırabilirsinizStart
.
System.Diagnostics.Process.Start(target);
Sınıfı hakkında Process
daha fazla bilgi için bkz . İşlem Sınıfı.
Özel durum işleme sağlayın
yöntemini çağırdığınızda varsayılan özelliğinden yararlandığınızdanStart
, hangi tarayıcının varsayılan UseShellExecute
olduğunu belirlemek için kayıt defterini açıkça sorgulamanız gerekmez. Ancak, tarayıcı yüklü olmayan bir bilgisayarda bu yaklaşımı kullanırsanız, bir özel durum oluşur. Uygun eylemin yapılabilmesi için bu özel durumun yakalanması gerekir.
Bu örnek, gerekli kayıt defteri anahtarı bulunamadığında oluşturulan bir hata için açıkça tuzak kurar ve tarayıcının yüklenmediğini gösterir. Ayrıca, oluşabilecek diğer hatalar için genel bir özel durum işleyicisi sağlanır. Blok try...catch
, tam kod listesinde gösterilmiştir.
Tam kod örneği
string target= "http://www.microsoft.com";
//Use no more than one assignment when you test this code.
//string target = "ftp://ftp.microsoft.com";
//string target = "C:\\Program Files\\Microsoft Visual Studio\\INSTALL.HTM";
try
{
System.Diagnostics.Process.Start(target);
}
catch (System.ComponentModel.Win32Exception noBrowser)
{
if (noBrowser.ErrorCode==-2147467259)
MessageBox.Show(noBrowser.Message);
}
catch (System.Exception other)
{
MessageBox.Show(other.Message);
}
Sorun giderme
Bu kod, kayıt defterinin HKEY_CLASSES_ROOT (HKCR) kovanındaki uygulama dosyası türü ilişkilendirmelerine son derece bağımlıdır. Kayıt defteri zarar görürse beklenmeyen sonuçlara ve özel durumlara yol açabilir. Ayrıca, dosya türleri ve uzantılar tarayıcı dışındaki uygulamalarla ilişkilendirilebilir. Örneğin, HTM veya HTML dosyaları tarayıcı yerine Web geliştirme yazılımıyla ilişkilendirilebilir.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin