Telnet in Application einbauen

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von ShadowWarlock.

    Telnet in Application einbauen

    Hallo,
    Ich wollte mir für TeamSpeak ein kleines Tool selbst schreiben, welches mir den zugang mit Telnet erleichtert. Und zwar, mein Problem:
    Wie baue ich CMD Befehle als Code in VB ein, wobei 2 Textboxen einen kleinen Einfluss haben?

    Ich habs schon so versucht:

    VB.NET-Quellcode

    1. Shell("cmd/Telnet" & "TextBox1.Text" & "TextBox2.Text")

    Hat nicht funktioniert.

    Ich will in die 2 TextBoxen einmal die IP und einmal den Port eingeben sodass man nur noch auf ein Button klicken muss um die Verbindung aufzubauen.

    Danke im vorraus!


    EDIT:
    So das Problem hab ich schon gelöst nur das Telnetfenster schließt sich nach dem Verbindungsaufbau.

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

    Dies währe z.B. ein code mit textboxen zur eingabe der variablen und abarbeiten mehrer befehle...

    VB.NET-Quellcode

    1. 'Telnet
    2. Private Sub btbTSSenden_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btbTSSenden.Click
    3. Try
    4. 'telnet Start und Verbindung zur IP
    5. Dim Prozess As New Process()
    6. Prozess.StartInfo.FileName = "telnet.exe"
    7. Prozess.StartInfo.Arguments = txtIP.Text & " " & txtTCPQPort.Text
    8. Prozess.StartInfo.CreateNoWindow = True
    9. 'Login, Servereinrichtung und anschließender Start
    10. Prozess.Start()
    11. SendKeys.Send("slogin " & txtSAdmin.Text & " " & txtSAdminPWD.Text & "{ENTER}")
    12. SendKeys.Send("serveradd " & txtZPort.Text & "{ENTER}")
    13. SendKeys.Send("sel " & txtZPort.Text & "{ENTER}")
    14. SendKeys.Send("dbuseradd " & txtAName.Text & " " & txtPDW.Text & " " & txtPDW.Text & " 1" & "{ENTER}")
    15. SendKeys.Send("serverset server_name " & txtTSName.Text & "{Enter}")
    16. SendKeys.Send("serverset server_maxusers " & txtTSSlots.Text & "{Enter}")
    17. SendKeys.Send("serverset server_password " & txtTSPWD.Text & "{Enter}")
    18. SendKeys.Send("serverset server_welcomemessage " & txtTStxt.Text & "{Enter}")
    19. If ckbPublic.Checked Then
    20. SendKeys.Send("serverset server_clan_server 0" & "{ENTER}")
    21. End If
    22. SendKeys.Send("quit" & "{ENTER}")
    23. Catch ex As Exception
    24. End Try
    25. End Sub


    nur schließ sich das telnet nicht... ich nutze diesen code um TS Server einzurichten und sofort zu starten... wenn das programm nicht geschlossen wird öffnet sich die telnet console mehrfach und nix wird abgearbeitet... das sind noch meine fehler in diesem code...


    Sry vergessen: txt...text sind textboxen

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

    ShadowWarlock ich hab mit deinem Code etwas rumprobiert aber so schnell kann Telnet gar keine Befehle übertragen wie sie eigegeben werden. Vielleicht solltest du für jeden SendKey Befehl ja einen Timer benutzen auf einen Intervall von 2500.

    Zudem könnte es so klappen mit dem Prozess beenden:

    VB.NET-Quellcode

    1. 'Telnet
    2. Private Sub btbTSSenden_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btbTSSenden.Click
    3. Try
    4. 'telnet Start und Verbindung zur IP
    5. Dim Prozess As New Process()
    6. Prozess.StartInfo.FileName = "telnet.exe"
    7. Prozess.StartInfo.Arguments = txtIP.Text & " " & txtTCPQPort.Text
    8. Prozess.StartInfo.CreateNoWindow = True
    9. 'Login, Servereinrichtung und anschließender Start
    10. Prozess.Start()
    11. SendKeys.Send("slogin " & txtSAdmin.Text & " " & txtSAdminPWD.Text & "{ENTER}")
    12. SendKeys.Send("serveradd " & txtZPort.Text & "{ENTER}")
    13. SendKeys.Send("sel " & txtZPort.Text & "{ENTER}")
    14. SendKeys.Send("dbuseradd " & txtAName.Text & " " & txtPDW.Text & " " & txtPDW.Text & " 1" & "{ENTER}")
    15. SendKeys.Send("serverset server_name " & txtTSName.Text & "{Enter}")
    16. SendKeys.Send("serverset server_maxusers " & txtTSSlots.Text & "{Enter}")
    17. SendKeys.Send("serverset server_password " & txtTSPWD.Text & "{Enter}")
    18. SendKeys.Send("serverset server_welcomemessage " & txtTStxt.Text & "{Enter}")
    19. If ckbPublic.Checked Then
    20. SendKeys.Send("serverset server_clan_server 0" & "{ENTER}")
    21. End If
    22. SendKeys.Send("quit" & "{ENTER}")
    23. Prozess.Kill
    24. Catch ex As Exception
    25. End Try
    26. End Sub


    Versuches mal einfach am Ende mit Prozess.Kill
    Mittlerweile siehts so aus mit timer von 1900 weil wenn ich diesen auf 2500 stelle geht das programm sofort wieder zu...

    VB.NET-Quellcode

    1. 'Telnet
    2. Private Sub btbTSSenden_Click1(ByVal sender As Object, ByVal e As System.EventArgs) Handles btbTSSenden.Click
    3. Try
    4. 'Shell("telnet.exe " & txtIP.Text & " " & txtTCPQPort.Text, AppWinStyle.NormalFocus) Then
    5. 'telnet Start und Verbindung zur IP
    6. Dim Prozess As New Process()
    7. Prozess.StartInfo.FileName = "telnet.exe"
    8. Prozess.StartInfo.Arguments = txtIP.Text & " " & txtTCPQPort.Text
    9. Prozess.StartInfo.CreateNoWindow = True
    10. 'Login, Servereinrichtung und anschließender Start
    11. If Prozess.Start Then
    12. Timer1.Start()
    13. End If
    14. Catch ex As Exception
    15. MsgBox("Fehler")
    16. Timer1.Stop()
    17. End Try
    18. End Sub
    19. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    20. SendKeys.Send("slogin " & txtSAdmin.Text & " " & txtSAdminPWD.Text & "{ENTER}")
    21. SendKeys.Send("serveradd " & txtZPort.Text & "{ENTER}")
    22. SendKeys.Send("sel " & txtZPort.Text & "{ENTER}")
    23. SendKeys.Send("dbuseradd " & txtAName.Text & " " & txtPDW.Text & " " & txtPDW.Text & " 1" & "{ENTER}")
    24. SendKeys.Send("serverset server_name " & txtTSName.Text & "{Enter}")
    25. SendKeys.Send("serverset server_maxusers " & txtTSSlots.Text & "{Enter}")
    26. SendKeys.Send("serverset server_welcomemessage " & txtTStxt.Text & "{Enter}")
    27. If txtPDW.Text.Length = 1 - 255 Then
    28. SendKeys.Send("serverset server_password " & txtTSPWD.Text & "{Enter}")
    29. End If
    30. If ckbPublic.Checked Then
    31. SendKeys.Send("serverset server_clan_server 0" & "{ENTER}")
    32. End If
    33. SendKeys.Send("quit" & "{ENTER}")
    34. Timer1.Stop()
    35. End Sub


    Edit: Allerdings geht das mit dem prozess.kill net da geht telnet garnicht auf...

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