Windows-Fenster und Konsole-Fenster
-
Hallo Forum,
mein WinAPI-Programm zeigt beim Starten sowohl das Windows-Fenster als auch ein Konsole-Fenster an. Wie kann ich die Anzeige des Konsole-Fensters verhindern?
Hier meine WinMain:int WINAPI WinMain(HINSTANCE hI, HINSTANCE hPrI, PSTR szCmdLine, int iCmdShow) { char szName[] = "Fensterklasse"; HBRUSH MyBrush = CreateSolidBrush(RGB(0, 150, 255)); WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hI; wc.hIcon = LoadIcon(NULL, IDI_WINLOGO); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hbrBackground = (HBRUSH)MyBrush; wc.lpszMenuName = NULL; wc.lpszClassName = szName; RegisterClass(&wc); HWND hwnd = CreateWindow( // Fenster erstellen szName, "Rechner", WS_SYSMENU | WS_THICKFRAME, 50, 50, 210, 400, NULL, // Handle des Elternfensters nicht vorhanden NULL, hI, NULL ); ShowWindow(hwnd, iCmdShow); // SetForegroundWindow(hwnd); // SetFocus(hwnd); UpdateWindow(hwnd);
lg heinz
-
Welche IDE benutzt du? Hast du mit Visual Studio ein Konsolenprojekt angelegt? Falls ja ist es wohl am Einfachsten, ein neues Projekt aufzusetzen und als Projekttyp Win32 Desktop Application auszuwählen.
-
@DocShoe sagte in Windows-Fenster und Konsole-Fenster:
Welche IDE benutzt du? Hast du mit Visual Studio ein Konsolenprojekt angelegt? Falls ja ist es wohl am Einfachsten, ein neues Projekt aufzusetzen und als Projekttyp Win32 Desktop Application auszuwählen.
Ich verwende Netbeans und Cygwin.
-
Damit kenne ich mich nicht aus, aber kannst du da nicht auch aus verschiedene Projekttypen auswählen?
-
@DocShoe sagte in Windows-Fenster und Konsole-Fenster:
Damit kenne ich mich nicht aus, aber kannst du da nicht auch aus verschiedene Projekttypen auswählen?
Ja, aber da geht es mehr um die Basis zB. mit/ohne Code
-
Ob ein Konsolenfenster erzeugt wird oder nicht hängt vom "Subsystem" ab. Das wird beim Linken angegeben: https://docs.microsoft.com/en-us/cpp/build/reference/subsystem-specify-subsystem?view=msvc-160
Subsystem "CONSOLE" erzeugt ein Konsolenfenster, Subsystem "WINDOWS" erzeugt keines.Wo man das umstellen kann hängt von der IDE ab.
-
@hustbaer sagte in Windows-Fenster und Konsole-Fenster:
Ob ein Konsolenfenster erzeugt wird oder nicht hängt vom "Subsystem" ab. Das wird beim Linken angegeben: https://docs.microsoft.com/en-us/cpp/build/reference/subsystem-specify-subsystem?view=msvc-160
Subsystem "CONSOLE" erzeugt ein Konsolenfenster, Subsystem "WINDOWS" erzeugt keines.Wo man das umstellen kann hängt von der IDE ab.
Problem gelöst: In NetBeans bei den C++ Compiler-Optionen beim Punkt Additional Options die Anweisung: -Wl,--subsystem,windows eingeben. Dann wird die Konsole unterdrückt,
lg heinz