Visual Basic .NET veya Visual Basic 2005 kullanarak yerel sisteminizin bağlantı durumunu ve İnternet bağlantısını başlatmayı veya sonlandırmayı belirleme
Bu makalede, yerel sisteminizin bağlantı durumunu belirleme ve Visual Basic .NET veya Visual Basic 2005 kullanarak İnternet bağlantısını başlatma veya sonlandırma adımları gösterilmektedir.
Özgün ürün sürümü: Visual Studio
Özgün KB numarası: 821770
Özet
Bu adım adım makalede, Microsoft Windows Internet (WinINet) API'sinin sağladığı işlevi kullanarak yerel sisteminizin InternetGetConnectedState
bağlı durumunun nasıl belirleneceği açıklanır. Bu makalede ayrıca, bir İnternet bağlantısının nasıl başlatıldığı ve API işlevini kullanarak ve API işlevini kullanarak İnternet bağlantısının InternetDial
WinINet
nasıl sonlandırıldığı InternetHangUp
WinINet
açıklanır.
WinINet
API, uygulamaların Gopher ile, Dosya Aktarım Protokolü (FTP) ile ve İnternet'te birçok kaynağa erişmek için Köprü Metni Aktarım Protokolü (HTTP) ile etkileşim kurmasını sağlayan bir dizi işlevdir. İşlev, InternetGetConnectedState
bağlantı olup olmadığına bağlı olarak True veya False döndürür. İşleve yapılan çağrıdan InternetGetConnectedState
sonra lpdwFlags parametresi, bağlantı hakkında daha fazla bilgi sağlayan önceden tanımlanmış bir değer içerir. Örneğin, IpdwFlags'ın içerdiği değer, bağlantının yerel ağ (LAN) bağlantısı, modem bağlantısı veya başka bir bağlantı türü olduğunu gösterebilir. İşlevin dönüş değerinden InternetGetConnectedState
bağlantı olup olmadığını çıkarabilirsiniz.
İşlev çağrısı True döndürdüğünde InternetGetconnectionState
bir ağ bağlantısı vardır. Ancak bu, verilere erişiminiz olduğunu veya ağ üzerinden Web sitelerine erişiminiz olduğunu garanti etmez.
İşlev, InternetDial
modem kullanarak İnternet bağlantısı başlatır. lpszConnectoid parametresi, işlevin kullandığı çevirmeli bağlantının InternetDial
adını belirtir. API işlevini kullanarak InternetHangUp
WinINet
modeme dwConnection parametresinin belirttiği bağlantıyı sonlandırmasını sağlayabilirsiniz.
Adım Adım Örnek
Microsoft Visual Studio .NET veya Microsoft Visual Studio 2005'i başlatın.
Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklayın.
Proje türleri'nin altında Visual Basic Projeleri'ne tıklayın.
Not
Visual Studio 2005'te, Proje Türleri'nin altında Visual Basic'e tıklayın.
Şablonlar'ın altında Windows Uygulaması'nı tıklatın.
Varsayılan olarak Form1 oluşturulur.
Form1'e sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.
Form1 sınıfına aşağıdaki bildirim deyimlerini ekleyin:
Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Int32, _ ByVal dwReserved As Int32) As Boolean Private Declare Function InternetDial Lib "Wininet.dll" (ByVal hwndParent As IntPtr, _ ByVal lpszConnectoid As String, ByVal dwFlags As Int32, ByRef lpdwConnection As Int32, _ ByVal dwReserved As Int32) As Int32 Private Declare Function InternetHangUp Lib "Wininet.dll" _ (ByVal lpdwConnection As Int32, ByVal dwReserved As Int32) As Int32 Private Enum Flags As Integer 'Local system uses a LAN to connect to the Internet. INTERNET_CONNECTION_LAN = &H2 'Local system uses a modem to connect to the Internet. INTERNET_CONNECTION_MODEM = &H1 'Local system uses a proxy server to connect to the Internet. INTERNET_CONNECTION_PROXY = &H4 'Local system has RAS installed. INTERNET_RAS_INSTALLED = &H10 End Enum 'Declaration Used For InternetDialUp. Private Enum DialUpOptions As Integer INTERNET_DIAL_UNATTENDED = &H8000 INTERNET_DIAL_SHOW_OFFLINE = &H4000 INTERNET_DIAL_FORCE_PROMPT = &H2000 End Enum Private Const ERROR_SUCCESS = &H0 Private Const ERROR_INVALID_PARAMETER = &H87 Private mlConnection As Int32
Görünüm menüsünde Tasarım Aracı'e tıklayın.
Form1'e Düğme denetimi ekleyin.
Düğme1'e sağ tıklayın ve özellikler'e tıklayın.
Özellikler penceresi, Button1 denetiminin Text özelliğini Bağlantıyı Algıla olarak değiştirin.
Bağlantıyı Algıla'ya çift tıklayın ve Button1_Click olay işleyicisine aşağıdaki kodu ekleyin:
Dim lngFlags As Long If InternetGetConnectedState(lngFlags, 0) Then 'connected. If lngFlags And Flags.INTERNET_CONNECTION_LAN Then 'LAN connection. MsgBox("LAN connection.") ElseIf lngFlags And Flags.INTERNET_CONNECTION_MODEM Then 'Modem connection. MsgBox("Modem connection.") ElseIf lngFlags And Flags.INTERNET_CONNECTION_PROXY Then 'Proxy connection. MsgBox("Proxy connection.") End If Else 'not connected. MsgBox("Not connected.") End If
Form1'e başka bir Düğme denetimi ekleyin.
Düğme2'ye sağ tıklayın ve ardından Özellikler'e tıklayın.
Özellikler penceresi, Button2 denetiminin Text özelliğini Çevirmeli olarak değiştirin.
Çevirmeli Bağlantı'ya çift tıklayın ve Button2_Click olay işleyicisine aşağıdaki kodu ekleyin:
Dim DResult As Int32 DResult = InternetDial(Me.Handle, "My Connection", DialUpOptions.INTERNET_DIAL_FORCE_PROMPT, mlConnection, 0) If (DResult = ERROR_SUCCESS) Then MessageBox.Show("Dial Up Successful", "Dial-Up Connection") Else MessageBox.Show("UnSuccessFull Error Code" & DResult, "Dial-Up Connection") End If
Not
Bağlantım'ın yerine bilgisayarınızdaki çevirmeli bağlantının adını yazın.
Form1'e başka bir Düğme denetimi ekleyin.
Düğme3'e sağ tıklayın ve özellikler'e tıklayın.
Özellikler penceresi, Button3 denetiminin Text özelliğini Kapat olarak değiştirin.
Kapat'a çift tıklayın ve Button3_Click olay işleyicisine aşağıdaki kodu ekleyin:
Dim Result As Int32 If Not (mlConnection = 0) Then Result = InternetHangUp(mlConnection, 0&) If Result = 0 Then MessageBox.Show("Hang up successful", "Hang Up Connection") Else MessageBox.Show("Hang up NOT successful", "Hang Up Connection") End If Else MessageBox.Show("You must dial a connection first!", "Hang Up Connection") End If
Projeyi kaydetmek için Dosya menüsünde Tümünü Kaydet'e tıklayın.
Uygulamayı çalıştırmak için Hata Ayıkla menüsünde Başlat'a tıklayın.
Tt'nin çalıştığını doğrulayın
Bu makalenin Adım Adım Örnek bölümünde oluşturduğunuz uygulamayı çalıştırın.
Form1 görüntülenir.
Bağlantıyı Algıla'ya tıklayın ve yerel bilgisayarınızın geçerli bağlı durumuna dikkat edin.
Çevirmeli Bağlantı'ya tıklayın.
Çevirmeli bağlantı iletişim kutusu görüntülenir.
Kapat'a tıklayın.
3. adımda oluşturduğunuz İnternet bağlantısı sona erer.
Başvurular
Daha fazla bilgi için aşağıdaki Web sitelerini ziyaret edin:
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