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 InternetDialWinINet nasıl sonlandırıldığı InternetHangUpWinINet 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 InternetHangUpWinINet modeme dwConnection parametresinin belirttiği bağlantıyı sonlandırmasını sağlayabilirsiniz.

Adım Adım Örnek

  1. Microsoft Visual Studio .NET veya Microsoft Visual Studio 2005'i başlatın.

  2. Dosya menüsünde, Yeni'nin üzerine gelin ve Proje'ye tıklayın.

  3. 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.

  4. Şablonlar'ın altında Windows Uygulaması'nı tıklatın.

    Varsayılan olarak Form1 oluşturulur.

  5. Form1'e sağ tıklayın ve ardından Kodu Görüntüle'ye tıklayın.

  6. 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
    
  7. Görünüm menüsünde Tasarım Aracı'e tıklayın.

  8. Form1'e Düğme denetimi ekleyin.

  9. Düğme1'e sağ tıklayın ve özellikler'e tıklayın.

  10. Özellikler penceresi, Button1 denetiminin Text özelliğini Bağlantıyı Algıla olarak değiştirin.

  11. 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
    
  12. Form1'e başka bir Düğme denetimi ekleyin.

  13. Düğme2'ye sağ tıklayın ve ardından Özellikler'e tıklayın.

  14. Özellikler penceresi, Button2 denetiminin Text özelliğini Çevirmeli olarak değiştirin.

  15. Ç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.

  16. Form1'e başka bir Düğme denetimi ekleyin.

  17. Düğme3'e sağ tıklayın ve özellikler'e tıklayın.

  18. Özellikler penceresi, Button3 denetiminin Text özelliğini Kapat olarak değiştirin.

  19. 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
    
  20. Projeyi kaydetmek için Dosya menüsünde Tümünü Kaydet'e tıklayın.

  21. 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

  1. Bu makalenin Adım Adım Örnek bölümünde oluşturduğunuz uygulamayı çalıştırın.

    Form1 görüntülenir.

  2. Bağlantıyı Algıla'ya tıklayın ve yerel bilgisayarınızın geçerli bağlı durumuna dikkat edin.

  3. Çevirmeli Bağlantı'ya tıklayın.

    Çevirmeli bağlantı iletişim kutusu görüntülenir.

  4. 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: