Konsolenanwendung ein- und ausblenden (ohne Windows-Application)

  • VB.NET
  • .NET (FX) 4.0

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

    Konsolenanwendung ein- und ausblenden (ohne Windows-Application)

    Ich habe mal recherchiert und gschaut ob man die Konsolenanwendung ein und ausblenden kann.
    D.h sie asuzublenden und wenn ein meteorit einschlägt sie davor wieder einzublenden...


    Geht das,
    ohne eine WinFormsApp zu benutzen?

    Grüße
    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.
    Ok, habe mal geguckt und folgendes gefunden:

    VB.NET-Quellcode

    1. Private Declare Auto Function ShowWindow Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal nCmdShow As Integer) As Boolean
    2. Private Declare Auto Function GetConsoleWindow Lib "kernel32.dll" () As IntPtr
    3. Dim fom As New AntiConsole
    4. Sub Main()
    5. Console.WriteLine("Press a key to hide, click tray icon to reopen")
    6. Console.ReadKey()
    7. ConsoleVisibelity(False)
    8. Application.Run(fom)
    9. End Sub
    10. Sub ConsoleVisibelity(ByVal newstate as boolean)
    11. Dim hWndConsole As IntPtr
    12. hWndConsole = GetConsoleWindow()
    13. if newstate = true then
    14. ShowWindow(hWndConsole, 5)
    15. else
    16. ShowWindow(hWndConsole, 0)
    17. end if
    18. End Sub

    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.
    @_DarkForest Ausblenden geht wohl. Da aber ein unsichtbares Fenster keine Tastatur- und Mausaktionen annimmt - wie willst Du das Fenster wieder sichtbar machen? Über eine Wartezeit?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @RodFromGermany

    Dafür ist Application.Run(fom) fom(AntiKonsole-Klasse) ist eine Windows Form, diese Zeigt dann ein Tray Icon und einen Notyfer an.
    こんにちわ
    Achte beim stellen von Fragen auf eine genaue Fragestellung, mir passiert das selbst häufig, andere können dir dann nicht so gut helfen.