Problem mit Exe(oder so)
-
moin zusammen,
ich habe hier ein kleines Problem mit meinen Exe-Dateien.
Also das compilern läuft ohne Probleme, keine einziger Fehlerund auch keine Warnung.
Wenn ich die Exe jedoch starte, dann wird sie zwar in den Speicher geladen, ich bekomme aber nichts zu sehen. Sie läuft praktisch im Hintergrund.
Könnte das vielleicht daran liegen, dass mein Compiler das ganze als Konsolen Anwendung ansieht, und es falsch kompilert?
Glaub ich eher nicht, da ich das Projekt als Win32-Anwendung erstellt habe.
Hier mal mein Code:#include <windows.h> #include "resource.h" LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { static TCHAR szAppName[] = "Menu-Demo" ; HWND hwnd ; MSG msg ; WNDCLASS wndclass ; wndclass.style = CS_HREDRAW | CS_VREDRAW ; wndclass.lpfnWndProc = WndProc ; wndclass.cbClsExtra = 0 ; wndclass.cbWndExtra = 0 ; wndclass.hInstance = hInstance ; wndclass.hIcon = LoadIcon (NULL, IDI_APPLICATION) ; wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ; wndclass.hbrBackground = (HBRUSH) GetStockObject (WHITE_BRUSH) ; wndclass.lpszMenuName = "MENUDEMO" ; wndclass.lpszClassName = "MENUDEMO" ; if (!RegisterClass (&wndclass)) return 0; hwnd = CreateWindow (szAppName, // Name der Fensterklasse "Menu-Demo", // Fenstertitel WS_OVERLAPPEDWINDOW, // Fensterstil CW_USEDEFAULT, // X-Position des Fensters CW_USEDEFAULT, // Y-Position des Fensters CW_USEDEFAULT, // Fensterbreite CW_USEDEFAULT, // Fensterhöhe NULL, // übergeordnetes Fenster NULL, // Menü hInstance, // Programm-Kopiezähler (Programm-ID) NULL) ; // zusätzliche Parameter ShowWindow (hwnd, iCmdShow) ; UpdateWindow (hwnd) ; while (GetMessage (&msg, NULL, 0, 0)) { TranslateMessage (&msg) ; DispatchMessage (&msg) ; } return msg.wParam ; } LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HDC hdc ; switch (message) { case WM_DESTROY: PostQuitMessage (0) ; return 0 ; } return DefWindowProc (hwnd, message, wParam, lParam) ; }Weiß jemand von euch Rat?
Hatt jemand das gleiche Problem?PS: Das Programm soll lediglich ein Menü anzeigen!
-
die registrierte fensterklasse muss gleich sein
[cpp]
// ..
wndclass.lpszClassName = szAppName ;
// ..
hwnd = CreateWindow (szAppName, // Name der Fensterklasse
// ..
[/cpp]
-
stimmt, das wars.
Danke für die schnelle Antwort!!!