weis nicht wo der Fehler steckt???:-(
-
#define STRICT #undef UNICODE #include <windows.h> // Deklaration Fensterprozedur (gewählter Name: WndProc) //Zuständig für alle Ereignisse eines Fesnters LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //Name des Fensters const char szFensterName[]="Mein erstes Fenster"; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil) { //------------------------------------------------------------------------------------ HWND hWnd;// Handle für das HauptFenster MSG msg;// Nachrichten abholen und bearbeiten WNDCLASS wc;// Struktur für Eigenschaften der Fensterklasse besetzen //------------------------------------------------------------------------------------ //Fenster Eigenschaften wc.style = CS_HREDRAW|CS_VREDRAW;//Bei jeder Größenänderung ganzes Fenster neu zeichnen wc.lpfnWndProc = WndProc; // Zeiger auf Fensterprozedur wc.hInstance = hInstance;//Handle zu unserem Programm wc.hCursor = LoadCursor (NULL, IDC_ARROW);//Standart Pfeil Cursor wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);//Handle auf ein Icon wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//Hintergrund Farbe festlegen wc.lpszClassName ="Name der Klasse";//Name des Fensters wc.lpszMenuName = NULL;//menü name...in unserem fall brauchen wir kein Menü deshalb NULL //Hier kann man Festlegen ob mann zusätlichen Speicher für die Fesnterklasse bzw. das Fenster //reservieren möchte, in unser Fall brauchen wir keinen Zusätlichen Speciehr wc.cbClsExtra = 0; wc.cbWndExtra = 0; //Fenster Regestrieren RegisterClass(&wc); //Fenster erstellen hWnd=CreateWindow(szFensterName,"Erstes Fenster",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL); //Fenster anzeigen lassen ShowWindow(hWnd,nFunsterStil); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg);//Tastatur Nachrichten DispatchMessage(&msg);//Verteil die Nachrichten an die jeweilige Prozedur } return msg.wParam;//beendung das Programm mit dem letzten interger wert, die GetMessge bearbeitet hat } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: { PostQuitMessage(0); return 0; } } return DefWindowProc(hWnd, message, wParam, lParam); }kein plan was ich falsch gemacht habe da kommt kein fenster und geht auch nichts mein compiler ist visuel studio 2008
in fehler ausgabe steht nichts hilfreiches drin
-
HWND CreateWindow( LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam );classenname muss als erstes stehen, registriert hast du die klasse unter den namen "name der Klasse",...
grüße
-
#define STRICT #undef UNICODE #include <windows.h> // Deklaration Fensterprozedur (gewählter Name: WndProc) //Zuständig für alle Ereignisse eines Fesnters LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM); //Name des Fensters const char szFensterName[]="Mein erstes Fenster"; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpszArgument,int nFunsterStil) { //------------------------------------------------------------------------------------ HWND hWnd;// Handle für das HauptFenster MSG msg;// Nachrichten abholen und bearbeiten WNDCLASS wc;// Struktur für Eigenschaften der Fensterklasse besetzen //------------------------------------------------------------------------------------ //Fenster Eigenschaften wc.style = CS_HREDRAW|CS_VREDRAW;//Bei jeder Größenänderung ganzes Fenster neu zeichnen wc.lpfnWndProc = WndProc; // Zeiger auf Fensterprozedur wc.hInstance = hInstance;//Handle zu unserem Programm wc.hCursor = LoadCursor (NULL, IDC_ARROW);//stan**** Pfeil Cursor wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);//Handle auf ein Icon wc.hbrBackground=(HBRUSH)GetStockObject(WHITE_BRUSH);//Hintergrund Farbe festlegen wc.lpszClassName =szFensterName;//Name des Fensters wc.lpszMenuName = NULL;//menü name...in unserem fall brauchen wir kein Menü deshalb NULL //Hier kann man Festlegen ob mann zusätlichen Speicher für die Fesnterklasse bzw. das Fenster //reservieren möchte, in unser Fall brauchen wir keinen Zusätlichen Speciehr wc.cbClsExtra = 0; wc.cbWndExtra = 0; //Fenster Regestrieren RegisterClass(&wc); //Fenster erstellen hWnd=CreateWindow(szFensterName,"Erstes Fenster",WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL); //Fenster anzeigen lassen ShowWindow(hWnd,nFunsterStil); while(GetMessage(&msg,NULL,0,0)) { TranslateMessage(&msg);//Tastatur Nachrichten DispatchMessage(&msg);//Verteil die Nachrichten an die jeweilige Prozedur } return msg.wParam;//beendung das Programm mit dem letzten interger wert, die GetMessge bearbeitet hat } LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_DESTROY: { PostQuitMessage(0); return 0; } } return DefWindowProc(hWnd, message, wParam, lParam); }habs mal geändert aber geht trotzdem net

-
Ok probier mal:
hWnd = CreateWindow( szFensterName, /* Classname */ "Erstes Fenster", /* Title Text */ WS_OVERLAPPEDWINDOW, /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ 544, /* The programs width */ 375, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hInstance, /* Program Instance handler */ NULL /* No Window Creation data */ );CW_USEDEFAULT ?= 0
dann wäre dein fenster an stelle 0,0 mit der größe 0x0, dann würdest du es auch nicht sehen,... denke ich malgrüße
-
[/code]"ErstesFenster.exe": "C:\Dokumente und Einstellungen\what\Eigene Dateien\Visual Studio 2008\Projects\ErstesFenster\Release\ErstesFenster.exe" geladen, Symbole wurden geladen.
"ErstesFenster.exe": "C:\WINDOWS\system32\ntdll.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\kernel32.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\user32.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\gdi32.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_x-ww_d08d0375\msvcr90.dll" geladen, Symbole wurden geladen.
"ErstesFenster.exe": "C:\Programme\Kaspersky Lab\Kaspersky Internet Security 2009\mzvkbd.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\psapi.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\advapi32.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\rpcrt4.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\secur32.dll" wurde geladen
"ErstesFenster.exe": "C:\Programme\Kaspersky Lab\Kaspersky Internet Security 2009\mzvkbd3.dll" wurde geladen
"ErstesFenster.exe": "C:\Programme\Kaspersky Lab\Kaspersky Internet Security 2009\adialhk.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\shlwapi.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\msvcrt.dll" wurde geladen
"ErstesFenster.exe": "C:\Programme\Kaspersky Lab\Kaspersky Internet Security 2009\kloehk.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\uxtheme.dll" wurde geladen
"ErstesFenster.exe": "C:\WINDOWS\system32\msctf.dll" wurde geladenDas Programm "[5148] ErstesFenster.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.[code]
also das Programm kommt ca fürn habe sekund und verschwindet dann
also keine fehler mehr aber irgendwaws beendet das immer hab erst gedacht Kaspersky macht probleme dann habe ich es ausgeschaltet und nochmal versucht ging wieder net komisch
-
Also ich weiß definitv das folgender source funzt,
Bloodshed Mingw#include <windows.h> /* Declare Windows procedure */ LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); /* Make the class name into a global variable */ char szClassName[ ] = "WindowsApp"; int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil) { HWND hwnd; /* This is the handle for our window */ MSG messages; /* Here messages to the application are saved */ WNDCLASSEX wincl; /* Data structure for the windowclass */ /* The Window structure */ wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; /* This function is called by windows */ wincl.style = CS_DBLCLKS; /* Catch double-clicks */ wincl.cbSize = sizeof (WNDCLASSEX); /* Use default icon and mouse-pointer */ wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION); wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION); wincl.hCursor = LoadCursor (NULL, IDC_ARROW); wincl.lpszMenuName = NULL; /* No menu */ wincl.cbClsExtra = 0; /* No extra bytes after the window class */ wincl.cbWndExtra = 0; /* structure or the window instance */ /* Use Windows's default color as the background of the window */ wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND; /* Register the window class, and if it fails quit the program */ if (!RegisterClassEx (&wincl)) return 0; /* The class is registered, let's create the program*/ hwnd = CreateWindowEx ( 0, /* Extended possibilites for variation */ szClassName, /* Classname */ "Windows App", /* Title Text */ WS_OVERLAPPEDWINDOW, /* default window */ CW_USEDEFAULT, /* Windows decides the position */ CW_USEDEFAULT, /* where the window ends up on the screen */ 544, /* The programs width */ 375, /* and height in pixels */ HWND_DESKTOP, /* The window is a child-window to desktop */ NULL, /* No menu */ hThisInstance, /* Program Instance handler */ NULL /* No Window Creation data */ ); /* Make the window visible on the screen */ ShowWindow (hwnd, nFunsterStil); /* Run the message loop. It will run until GetMessage() returns 0 */ while (GetMessage (&messages, NULL, 0, 0)) { /* Translate virtual-key messages into character messages */ TranslateMessage(&messages); /* Send message to WindowProcedure */ DispatchMessage(&messages); } /* The program return-value is 0 - The value that PostQuitMessage() gave */ return messages.wParam; } /* This function is called by the Windows function DispatchMessage() */ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) /* handle the messages */ { case WM_DESTROY: PostQuitMessage (0); /* send a WM_QUIT to the message queue */ break; default: /* for messages that we don't deal with */ return DefWindowProc (hwnd, message, wParam, lParam); } return 0; }grüüße