Konsolenfenster schließen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von RevangeXX.

    Konsolenfenster schließen

    Hallo allerseits,

    ich verwende für eine Remote Desktop Verbindung zu einem Server "cmdkey.exe" zur Übergabe des Usernamens und des Passworts.
    Verbindung funktioniert leider wird immer ein Konsolenfenster ("cmdkey.exe") geöffnet.:S
    Daher habe ich mit ProcessWindowStyle.Hidden das Fenster versteckt.

    Mein Problem ist aber das dieses bzw. diese Konsolenfenster immer noch im Hintergrund laufen.

    Gibt es eine Möglichkeit dieses Konsolenfenster statt auszublenden einfach zu schließen??

    Code zur Erläuterung:

    Quellcode

    1. Dim cmdkey As New Process
    2. cmdkey.StartInfo.FileName = Environment.ExpandEnvironmentVariables("%SystemRoot%\system32\cmdkey.exe")
    3. cmdkey.StartInfo.Arguments = "/generic:TERMSRV/0.0.0.0 /user:" + "Administrator" + " /pass:" + "1234"
    4. cmdkey.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    5. cmdkey.Start()
    6. cmdkey.StartInfo.FileName = Environment.ExpandEnvironmentVariables("%SystemRoot%\system32\mstsc.exe")
    7. cmdkey.StartInfo.Arguments = "/v " + "0.0.0.0"
    8. cmdkey.Start()



    LG Raffael

    RevangeXX schrieb:

    Gibt es eine Möglichkeit dieses Konsolenfenster statt auszublenden einfach zu schließen??
    Wieso genau willst du das Fenster verstecken?

    RevangeXX schrieb:

    im Hintergrund laufen.
    Wie genau ist das gemeint? Bei mir (ich habs mit Ping ausprobiert) seh ich auf dem Desktop nix mehr. Und auch in der Taskleiste ist kein Konsolenfenster-Eintrag.
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Hallo,

    danke für deine Antwort!

    Was ich mit Verstecken gemeint habe ist das bei beim Aufruf von cmdkey.exe und den Parametern automatisch ein CMD Fenster öffnet das ich nicht wieder schließt.

    Bei deinem Ping befehl den du versucht hast, schließt sich das Fenster automatisch!

    Hat sich aber alles inzwischen erledigt, hab schon eine Lösung gefunden!

    Trotzdem Danke!

    LG Raffael

    RevangeXX schrieb:

    hab schon eine Lösung gefunden!
    Könntest du sie uns mitteilen - eventuell kann das noch wer anders brauchen)

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Natürlich!

    Als ich meinen Code fertig hatte(Unten) und meine Anwendung gestartet hatte habe ich im Taskmanager gesehen das mehrere Consolen Fenster im Hintergrund Liefen.
    Fälschlicher weiße habe ich angenommen das diese von meiner Anwendung stammen, waren sie aber nicht! Code funzt also ;)

    Worauf ich noch aufmerksam machen möchte ist, Windows generiert über cmdkey.exe eine Generische Anmeldeinformation Speicher diese,
    aber löscht sie nicht! (Ist aber auch möglich!)
    Zusehen unter Systemsteuerung --> Benutzerkonten --> Anmeldeinformationsverwaltung --> Windows Anmeldeinformationen

    Nachteil liegt hier sicher im Punkto Sicherheit
    Vorteil ist ihr könnt auch ohne dem Programmierte Tool automatisch mit dem Gewünschten Server verbinden weil sich die Windows Remote Desktop Anwendung die gespeicherten Anmeldeinformationen hold!

    Hier nochmal mein Code!

    Quellcode

    1. If rbtn_backup_server_rd.Checked = True Then
    2. Dim cmdkey As New Process
    3. cmdkey.StartInfo.FileName = Environment.ExpandEnvironmentVariables("%SystemRoot%\system32\cmdkey.exe")
    4. cmdkey.StartInfo.Arguments = "/generic:TERMSRV/192.168.0.100 /user:" + "user" + " /pass:" + "password"
    5. cmdkey.StartInfo.WindowStyle = ProcessWindowStyle.Hidden
    6. cmdkey.Start()
    7. cmdkey.StartInfo.FileName = Environment.ExpandEnvironmentVariables("%SystemRoot%\system32\mstsc.exe")
    8. cmdkey.StartInfo.Arguments = "/v " + "192.168.0.100"
    9. cmdkey.Start()


    LG Raffael