WLAN/Lan Verbindung trennen, und wieder herstellen

  • VB.NET

Es gibt 30 Antworten in diesem Thema. Der letzte Beitrag () ist von Marcus Gräfe.

    WLAN/Lan Verbindung trennen, und wieder herstellen

    Hi.

    Ich suche seit längerem eine elegante Lösung, wie ich meine Verbindung (Egal ob LAN oder WLAN) neustarten kann.

    Gefunden habe ich das:

    VB.NET-Quellcode

    1. Shell("ipconfig /release")


    Sah auch ganz gut aus, aber

    1. Geht das nur bei WLAN (Freunde testeten) und nicht bei LAN
    2. Verbindet sich das Netz nicht. In meinem Fall steht in meinem WLAN Programm: IP-Adresse wird bezogen..
    Und man muss es manuell starten.

    Gibt es eine bessere Lösung?

    So das es für LAN und WLAN geht, und es sich richtig verbindet.

    Geht das?

    Danke :)

    Mfg. TGS


    EDIT: Mit dem WLAN hats sich geklärt, aber mit LAN weiss ich noch nicht!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „TheGameSiders“ ()

    VB.NET-Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Shell("netsh interface set interface Lan-Verbindung DISABLED")
    3. End Sub
    4. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    5. Shell("netsh interface set interface Lan-Verbindung ENABLE")
    6. End Sub



    Pfad - Systemsteuerung\Netzwerk und Internet\Netzwerk- und Freigabecenter - öffnen
    und den Namen des Netzwerks ablesen welches du schalten willst und in Code setzen !

    Beispiel : LAN-Verbindung - oder - Hamachi - usw....

    Dann kannst du es an (( ENABLE )) und aus (( DISABLED )) schalten !
    LG Andre :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „TVX“ ()

    Ich weiss, dass Shell veraltet ist, aber es tut seinen Job, und mehr als das tut das Programm ja auch nicht.

    Auf jeden Fall danke Andre.
    Nur den Code hatte ich schon.

    Das Problem dabei ist, dass man den Namen kennen muss.

    Und da das Tool für viele ist, und recht einfach sein sollte (Hotkeybasierend, mehr nicht)
    wäre es besser, wenn es automatisch alle Verbindungen neustarten würde, damit man den Netzweknamen nicht eingeben muss.
    Denn manche schaffen es nicht den rauszufinden, und bei XP und Windows 7 siehts ja auch wieder anders aus für die Leute..

    Also gehts automatisch irgendwie, wie bei WLAN oder muss ich den Code wohl oder übel nehmen, und die Leute den Namen selber eingeben lassen?

    Danke :)

    Mfg. TGS
    Das Ganze hat besimmt wieder was mit diesem Cheat zu tun, auf dessen Name ich grad nicht komme. Da hatten wir vor kurzem mal nen Thread dazu. Wozu sonst sollte man so etwas machen?

    lag switch
    Die Unendlichkeit ist weit. Vor allem gegen Ende. ?(
    Manche Menschen sind gar nicht dumm. Sie haben nur Pech beim Denken. 8o
    Damit kannst du alle adapter auslesen

    VB.NET-Quellcode

    1. Imports System.Net.NetworkInformation
    2. Public Class Form1
    3. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    4. ' NetzwerkInterface-Objekt
    5. Dim oInterface As NetworkInterface
    6. ' ListBox-Inhalt löschen
    7. ListBox1.Items.Clear()
    8. ' alle verfügbaten Netzwerk-Interfaces durchlaufen
    9. For Each oInterface In NetworkInterface.GetAllNetworkInterfaces()
    10. With oInterface
    11. ' nur wenn es sich um kein LoopBack/Tunnel-Interface handelt...
    12. If .NetworkInterfaceType <> NetworkInterfaceType.Loopback AndAlso .NetworkInterfaceType <> NetworkInterfaceType.Tunnel Then
    13. ' Name der Netzwerkverbindung, Status und MAC-Adresse
    14. ' in die ListBox schreiben
    15. ListBox1.Items.Add(.Name.ToString)
    16. End If
    17. End With
    18. Next
    19. End Sub





    Nur en Button + ne ListBox


    zum meispiel das alle in der listbox selecktierten aus oder an gehen ,,oder so :wacko:
    Hi.

    Erstmal danke.

    Leider hats weder bei LAN noch bei WLAN geklappt.

    Habs so gemacht:

    VB.NET-Quellcode

    1. Imports System.Net.NetworkInformation
    2. Public Class Form1
    3. Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    4. Shell("netsh interface set interface" + ListBox1.SelectedItem + " DISABLED")
    5. End Sub
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. ' NetzwerkInterface-Objekt
    8. Dim oInterface As NetworkInterface
    9. ' ListBox-Inhalt löschen
    10. ListBox1.Items.Clear()
    11. ' alle verfügbaten Netzwerk-Interfaces durchlaufen
    12. For Each oInterface In NetworkInterface.GetAllNetworkInterfaces()
    13. With oInterface
    14. ' nur wenn es sich um kein LoopBack/Tunnel-Interface handelt...
    15. If .NetworkInterfaceType <> NetworkInterfaceType.Loopback AndAlso .NetworkInterfaceType <> NetworkInterfaceType.Tunnel Then
    16. ' Name der Netzwerkverbindung, Status und MAC-Adresse
    17. ' in die ListBox schreiben
    18. ListBox1.Items.Add(.Name.ToString)
    19. End If
    20. End With
    21. Next
    22. End Sub
    23. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    24. Shell("netsh interface set interface" + ListBox1.SelectedItem + " ENABLE")
    25. End Sub
    26. End Class


    Einen Fehler sehe ich nicht, und wenn ich den Namen der Verbindung eingebe, gehts auch nicht.
    Nur bei Hamachi gehts irgendwie.

    Hoffe auf Hilfe :)

    Mfg. TGS

    TheGameSiders schrieb:

    1. Geht das nur bei WLAN (Freunde testeten) und nicht bei LAN
    Klar geht das für LAN.
    Man kann es auch in der Konsole ausprobieren:

    "ipconfig /release" schließt alle aktive Netzwerkverbindungen (ausgenommen USB-Netzwerkgeräte)
    "ipconfig /renew" stellt wieder eine Verbindung her.

    Mein Rechner ist per LAN verkabelt und es klappt es alles wunderbar.


    Mfg.
    SAR
    Hey SAR-71 Treffer versenkt :thumbsup:

    Habs gerade getestet hab LAN - TOP :thumbsup:


    (( 3x Button + 1x TextBox für ipß Anzeige bei bedarf ))


    VB.NET-Quellcode

    1. Imports System.Net.Dns
    2. Public Class Form1
    3. Dim Merker As Integer = 0
    4. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    5. TopMost = True ' Fenster immer im Fordergrund !
    6. End Sub
    7. 'IP Adressen zum ansehen durchblättern .
    8. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    9. If Merker = 0 Then
    10. On Error Resume Next
    11. TextBox1.Text = GetHostEntry(GetHostName).AddressList.GetValue(0).ToString
    12. ElseIf Merker = 1 Then
    13. On Error Resume Next
    14. TextBox1.Text = GetHostEntry(GetHostName).AddressList.GetValue(1).ToString
    15. ElseIf Merker = 2 Then
    16. On Error Resume Next
    17. TextBox1.Text = GetHostEntry(GetHostName).AddressList.GetValue(2).ToString
    18. ElseIf Merker = 3 Then
    19. On Error Resume Next
    20. TextBox1.Text = GetHostEntry(GetHostName).AddressList.GetValue(3).ToString
    21. ElseIf Merker = 4 Then
    22. On Error Resume Next
    23. TextBox1.Text = GetHostEntry(GetHostName).AddressList.GetValue(4).ToString
    24. ElseIf Merker = 5 Then
    25. End If
    26. Merker += 1
    27. If Merker = 5 Then Merker = 0
    28. End Sub
    29. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    30. Try
    31. Shell("ipconfig /release") 'Trennen
    32. Catch ex As Exception
    33. End Try
    34. End Sub
    35. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    36. Try
    37. Shell("ipconfig /renew") 'herstellen
    38. Catch ex As Exception
    39. End Try
    40. End Sub
    41. 'WURDE UNTER WIN 7 ERFOLGREICH GETESTET !
    42. End Class




    Link mit fertiger Projekt Mappe - VB 2012:

    Netzwerk Schalter v2.rar

    www71.zippyshare.com/v/30542473/file.html

    LG Andre :thumbsup:

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „TVX“ ()

    Hi.

    Danke, dass ihr immer den selben Code anders verpackt postet :D

    Naja aber bei einem Freund der LAN hat, geht nichtmal das mit CMD direkt.
    Er bleibt einfach online.


    Wodran kann das liegen?

    Und immernoch: Auch ich mit WLAN kann es nicht deaktivieren mit dem 1. Code von Andre, obwohl ich ihn in der Listbox ausgewählt habe..

    Mfg. TGS
    Hab ihn getestet -der geht nicht -aber ich weis auch warum -- zumindest in dieser art und weise !

    Bestimmte Arten von cmd Dateien brauchen bestimmte rechte die offenbar nur schwer zu simulieren sind Admin bei cmd nicht gleich Admin


    Ich hatte auch versucht die Cmd aufzurufen hatte selbes Problem -- versuch mal meins !

    Ich bin mir da ganz sicher wenn dann ohne Cmd ! ( Ich hatte in der Richtung schon meinen Spaß mit cmd)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „TVX“ ()

    :thumbsup: SO DAS GEHT NUN AUCH :thumbsup:


    VB.NET-Quellcode

    1. Option Strict On
    2. Imports System.IO
    3. Imports System.Net.NetworkInformation
    4. Public Class Form1
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. ' NetzwerkInterface-Objekt
    7. Dim oInterface As NetworkInterface
    8. ' ListBox-Inhalt löschen
    9. ListBox1.Items.Clear()
    10. ' alle verfügbaten Netzwerk-Interfaces durchlaufen
    11. For Each oInterface In NetworkInterface.GetAllNetworkInterfaces()
    12. With oInterface
    13. ' nur wenn es sich um kein LoopBack/Tunnel-Interface handelt...
    14. If .NetworkInterfaceType <> NetworkInterfaceType.Loopback AndAlso .NetworkInterfaceType <> NetworkInterfaceType.Tunnel Then
    15. ' Name der Netzwerkverbindung, Status und MAC-Adresse
    16. ' in die ListBox schreiben
    17. ListBox1.Items.Add(.Name)
    18. End If
    19. End With
    20. Next
    21. End Sub
    22. Private Sub ListBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ListBox1.SelectedIndexChanged
    23. End Sub
    24. 'Selecktedt Auswahl mit rechter Maustaste aufheben
    25. Private Sub FileListBox1_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles ListBox1.MouseDown
    26. If e.Button = Windows.Forms.MouseButtons.Right Then
    27. ListBox1.SelectedIndex = ListBox.NoMatches
    28. End If
    29. End Sub
    30. 'Trennen !
    31. Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
    32. Process.Start("netsh", "interface set interface " & ListBox1.SelectedItem.ToString & " DISABLED")
    33. End Sub
    34. 'Verbinden
    35. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    36. Process.Start("netsh", "interface set interface " & ListBox1.SelectedItem.ToString & " ENABLE")
    37. End Sub
    38. 'Multiselect für ListBox off !
    39. Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    40. Me.ListBox1.SelectionMode = SelectionMode.MultiExtended
    41. End Sub
    42. 'Multiselect für ListBox on !
    43. Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
    44. Me.ListBox1.SelectionMode = SelectionMode.MultiSimple
    45. End Sub
    46. 'Listbox1 Speichern
    47. Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
    48. System.IO.Directory.CreateDirectory("C:\Netzwerkadapter_Liste")
    49. On Error Resume Next
    50. Dim fs As New FileStream("C:\Netzwerkadapter_Liste" & "\" & "Liste.cfg", FileMode.Append)
    51. Dim sw As New StreamWriter(fs)
    52. For Each item As String In ListBox1.Items
    53. sw.WriteLine(item)
    54. Next
    55. sw.Close()
    56. End Sub
    57. 'Speicher in Listbox1 schreiben
    58. Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
    59. Dim Pfad As String = "C:\Netzwerkadapter_Liste\Liste.cfg"
    60. On Error Resume Next
    61. ListBox1.Items.AddRange(IO.File.ReadAllLines(Pfad))
    62. End Sub
    63. End Class


    LG Andre...

    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „TVX“ ()