Cmd in Vb 2010 einbinden

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von MarvinMario.

    Cmd in Vb 2010 einbinden

    Hallo Liebe VB-Paradies Nutzer,
    Ich habe eine kleine frage nämlich ich möchte gerne in meiner Form das cmd starten also es soll in meiner Form laufen bzw. wen ich angenommen auf einen Button klicke dann soll sich in der form cmd öffne so das ich dort etwas eintippen kann z.B. "ipconfig" und es dann ausführt.
    Ich hoffe ihr könnt mir helfen. :D
    Danke im Vorras :)
    MFG Marvin-Mario
    Cmd hat keine grafische Schnittstelle, sonst ginge dieser Code:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports System.Runtime.InteropServices
    2. Public Class Form1
    3. <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    4. Public Shared Function ShowWindow( _
    5. ByVal hWnd As IntPtr, _
    6. ByVal nCmdShow As Integer) As Boolean
    7. End Function
    8. ' Die Api Funktion SetParent setzt ein neues Eltern-Fenster für ein
    9. ' bestimmtes Kind-Fenster.
    10. '
    11. ' Rückgabewert:
    12. ' Wenn der Aufruf erfolgreich war wird das Handle des Eltern-Fensters
    13. ' zurückgegeben sonst 0.
    14. ' Übergabewerte:
    15. ' hWndChild: Handle des Kind-Fensters.
    16. ' hWndNewParent: Handle des Eltern-Fensters.
    17. <DllImport("user32.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
    18. Public Shared Function SetParent( _
    19. ByVal hWndChild As IntPtr, _
    20. ByVal hWndNewParent As IntPtr) As IntPtr
    21. End Function
    22. ' Das Fenster wird maximiert angezeigt.
    23. Public Const SW_MAXIMIZE As Int32 = 3
    24. ' (SW_...) usw.
    25. Private Sub SetApplicationAsChild(ByVal CallingApplication As String, _
    26. ByVal p As System.Windows.Forms.Panel)
    27. ' Fehlerbehandlung einschalten.
    28. Try
    29. ' Process starten ( ... notepad.exe ... ).
    30. Dim hProcess As System.Diagnostics.Process = _
    31. System.Diagnostics.Process.Start(CallingApplication)
    32. ' Siehe (... WaitForInputIdle ...)
    33. hProcess.WaitForInputIdle()
    34. ' Parent Fenster setzen.
    35. Form1.SetParent(hProcess.MainWindowHandle, p.Handle)
    36. 'Fenster anzeigen.
    37. Form1.ShowWindow(hProcess.MainWindowHandle, Form1.SW_MAXIMIZE)
    38. Catch ex As Exception
    39. ' Fehlerbeschreibung bei auftretenden Fehler anzeigen.
    40. MessageBox.Show(ex.Message.ToString(), "Info")
    41. End Try
    42. End Sub
    43. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    44. ' Dateiname des Editors
    45. Const APP_NAME As String = "notepad"
    46. ' Prozedur mit dem Dateiname <APP_NAME> und das benötigte Anzeigefenster aufrufen.
    47. SetApplicationAsChild(APP_NAME, Panel1)
    48. End Sub
    49. End Class

    TheVBTutorialsVB schrieb:

    Du könntest auch einfach eine TextBox ins Formular machen und dann die CMD mit diesem Wert starten.

    Wen cmd aber zum beispiel geapert ist geht das nicht!

    LaMiy ich habe das nicht ganz verstanden ich habe den code bei mir eingefügt habe einen panel und einen Button hinzugefügt es funzt trozdem nicht.
    Ich meinte so etwas wie auf dem bild zu sehen!



    Das bild bitte speicher ich glaube sonst sieht man es nicht.

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