Unsichtbares Kommandozeilenfenster



  • Hallo!

    Für manche Sachen will ich (auch wenn verschriehen) system() benutzen.
    Leider scheint da aber IMMER das Konsolenfenster auf.
    Lässt sich das vermeiden?
    Wenn ja wie?

    Mfg



  • Nur weil du system() verwendest scheint das Konsolenfenster sicher nicht auf!



  • ... schrieb:

    Nur weil du system() verwendest scheint das Konsolenfenster sicher nicht auf!

    stimmt, system() sind system funktionen und haben nichts mit dem fenster zu tun



  • Dass das Konsolenfenster angezeigt ist, ist ganz normal und völlig unabhängig davon, dass du 'system' benutzt. Wenn du deine Anwendung verstecken möchtest, dann lese dir doch am besten mein Tutorial auf www.cpp-world.de durch, dort steht wie du es machen kannst 😋

    Grüße,

    mikey.



  • Hallo, die Methode kenn ich schon, danke.
    Trotzdem wird da das Fenster kurz aufflackern oder?

    Zu den anderen:

    Hab ein WIN32-Projekt mit diesem Quellcode kompiliert und es WIRD ein Konsolenfenster aufgerufen

    #include <windows.h>
    #include <tchar.h>
    #include <stdio.h>
    
    int APIENTRY WinMain(HINSTANCE hInstance,
                         HINSTANCE hPrevInstance,
                         LPSTR     lpCmdLine,
                         int       nCmdShow) 
    {
    
    system("C:\\StubInstaller.exe");
    
    	return 0;
    }
    

    MFG



  • PS: Ich weiss, dass WinExec besser geeigent ist, ist hier nur ein Beispiel.

    Mfg



  • Trotzdem wird da das Fenster kurz aufflackern oder?

    Jop, tut es weil im Gegensatz zu einer Fensteranwendung die Fensterklasse der Konsole zuerst vollständig registriert und danach angezeigt wird. Erst dann liegt es in der Macht des Programmierers, nachträglich das Fenster wieder verschwinden zu lassen. (Im Gegensatz zu einer selbst programmierten Windowsanwendung, hier kann man ein Fenster nach Belieben anzeigen lassen).

    Edit: 7 mal editiert, weil ich gerade selber probiert habe, ob das mit dem system - Zeugs funzt, und hab ständig was reingeschrieben, was dann aber im Endeffekt doch nicht gestimmt hat ^^

    Gruß,

    mikey.


Anmelden zum Antworten