1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Visual Studio MS-DOS Fenster entfernen

Discussion in 'Programmieren' started by wirbelsturm, Aug 21, 2009.

Thread Status:
Not open for further replies.
  1. wirbelsturm

    wirbelsturm Kbyte

    Hallo zusammen
    Ich habe das Problem das ich das MS-DOS Fenster(siehe Bild) das standartmässig beim ausführen einer Anwendung in VisualC++ erscheint, nicht weg bekomme. Da ich nicht weis wie man dieses Fenster genau nennt und es auch nicht angeschrieben ist, ist es relativ schwer eine Google Suche zu formulieren.
    Wisst ihr wie man dieses Fenster wegbekommt, oder wer das wissen könnte?
     

    Attached Files:

  2. kazhar

    kazhar Viertel Gigabyte

    liest sich als ob du das programm als konsolenanwendung kompilierst.
     
  3. wirbelsturm

    wirbelsturm Kbyte

    Ich habe beim erstellen des Projektes "Leeres Projekt" gewählt, da sollten die Einstellungen doch nicht auf Konsolenanwendung gestellt sein. Zudem finde ich in den Projekteinstellungen kein Eintrag in diese Richtung.
     
  4. RealC++

    RealC++ Kbyte

    Die WinAPI-Funktion namens "FreeConsole" ist, wonach du suchst. Das Gegenstück dazu heisst übrigens "AllocConsole".
    Am besten testest du einfach mal die Wirkung:
    Code:
    [FONT="Courier New"]#include <windows.h>
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
         MessageBoxA(NULL,"Perform FreeConsole()","",MB_OK);
         FreeConsole();
         MessageBoxA(NULL,"Perform AllocConsole()","",MB_OK);
         AllocConsole();
         puts("THE END");
         Sleep(2000);
         return EXIT_SUCCESS;
    }[/FONT]
     
  5. wirbelsturm

    wirbelsturm Kbyte

    Danke RealC++
    ich habe "FreeConsole();" ganz an den anfang der main Funktion genommen. Nun erscheint die Console kurz und verschwindet wieder. Dies finde ich aber keine gute Lösung, da die Konsole jetzt jedesmal beim start aublitzt, was nicht besonders toll ausssieht. Gibt es keine Möglichkeit, die Konsole gar nicht erst zu laden? Ich meine bei anderen compileren geht das doch auch.
     
  6. RealC++

    RealC++ Kbyte

    Natürlich geht das: Du musst halt einfach den richtigen Projekttyp wählen. Wenn du keine Konsole willst, wählst musst du (logischerweise) "Windows application" statt "Console application".
     
  7. wirbelsturm

    wirbelsturm Kbyte

    Ich habe nie gesagt, das ich "Console application" gewählt habe. Ich habe immer "Leeres Projekt" gewählt. Ich glaube ich sollte die Frage einfach so formulieren: Wie kann ich ein leeres Projekt erstellen bei dem nicht beim ausführen die Konsole erscheint?
     
  8. RealC++

    RealC++ Kbyte

    Dann w&#228;hle doch einfach nicht "Leeres Projekt", sondern einen Typ der so funktioniert wie du es haben willst...:confused:

    Ansonsten, denke ich, ist dir damit gedient: http://msdn.microsoft.com/en-us/library/s3awkzkh(VS.80).aspx
    Oder: F&#252;ge "#pragma comment(linker, "/SUBSYSTEM:WINDOWS /ENTRY:\"main\"")" ganz oben in deinen Code ein - so geht es auch.
     
    Last edited: Aug 21, 2009
  9. wirbelsturm

    wirbelsturm Kbyte

    Wenn ich die #pragma Anweiswung einfüge, kommt immer eine Fehlermeldung beim ausführen(siehe Bild)
    Leider finde ich unter den Projekteinstelungen keinen Eintrag wie Application, Programm oder Anwendung. Das einzige was in diese Richtung geht ist die Einstellung "Konfigurationstyp" unter dem Tab Konfigurationseigenschaften. Dort habe ich die Möglichkeit aus "Anwendung(.exe)" (welches standartmässig eingestellt ist), "dynamische Bibliothek(.dll)","statische Bibliothek(.lib)" und "Dienstprogramm" auszuwählen.
    Etwas anderes als "Leeres Projekt" auszuwählen ist schwierig, da es immer Fehlermeldungen gibt, wenn man die Qt Dateien includen will.
     

    Attached Files:

  10. kazhar

    kazhar Viertel Gigabyte

    unter Visual C++ 6.0 konnte man das noch ausw&#228;hlen...
    [​IMG]
    das direkt &#252;ber dem markierten ist es ;)
     
  11. wirbelsturm

    wirbelsturm Kbyte

    :jippie: Ich habs. Man muss wie ihr gesagt habt einfach den richtigen Projekttyp auswählen: Das ist Win32-Anwendung. Wen man eine solche erstellt erscheint ein Dialog. Nun muss man auf Weiter klicken(nicht Fertigstellen!). Dann wählt man Windows-Anwendung aus, und setzt den Haken auf Leeres Projekt. So bekommt ein leeres Projekt das beim ausführen nicht immer eine Konsole anzeigt.

    Vielen herzlichen Dank für eure Hilfe :)
     
Thread Status:
Not open for further replies.

Share This Page