simples WinAPI programm
-
oh den hab ich nicht

such mal in den projektoptionen nach Präprozessordefinitionen und lösch UNICODE und UNICODE_ falls es dort drinstehen sollte.
-
evtl. hilft viellecht auch ein #undef _UNICODE nach dem #define STRICT
-
Wozu brachst Du
#include "stdafx.h"wenn Du doch nicht MFC machst? Lasse den Header weg und stelle als Projekt einfach eine Win32-Applikation ein. Schon gehts.
Trotzdem noch ein paar Änderungen:
statt:
char Name [] = "Ein eigenes Fenster";besser
TCHAR Name [] = "Ein eigenes Fenster";und
"Titelleiste"besser
TEXT("Titelleiste")Blackbird
-
zufaulzumeinloggen schrieb:
Wozu brachst Du
#include "stdafx.h"wenn Du doch nicht MFC machst? Lasse den Header weg und stelle als Projekt einfach eine Win32-Applikation ein. Schon gehts.
Diese Datei hat NICHTS mit MFC zu tun. Sie wird für die vorcompilierten Header
verwendet und kann über die Projekteinstellungen deaktiviert werden.
-
das mit dem Unicode steht vielleicht in der stdafx.h datei
-
Redhead, hast recht. Hab's verwechselt. Ist noch zu früh für mich

#define STRICT #include <string.h>kann auch weg.
Blackbird
-
Okay, ich habs jetzt verbessert.
Aber ich bekomme immer noch eine Fehlermeldung:
error C2440: 'initializing' : cannot convert from 'const char [20]' to 'TCHAR []'
obwohl ich
TCHAR Name [] = "Ein eigenes Fenster";
geschrieben hab
-
TCHAR Name [] = L"Ein eigenes Fenster";
-
*zufaulzumeinloggen* hat's ja schon gesagt.
TCHAR Name [] = TEXT("Ein eigenes Fenster");
Kurt
-
okay,
ich habs jetzt so:
#define STRICT #undef _UNICODE #include "stdafx.h" #include <windows.h> LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); TCHAR Name [] = TEXT("Ein eigenes Fenster"); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { HWND hWnd; MSG msg; WNDCLASS wc; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hCursor = LoadCursor(NULL,IDC_ARROW); wc.hIcon = LoadIcon(NULL,IDI_APPLICATION); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszClassName = Name; wc.lpszMenuName = NULL; RegisterClass(&wc); hWnd = CreateWindow(Name, TEXT("Titelleiste"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, /* X-Position auf dem Monitor */ CW_USEDEFAULT, /* Y-Position auf dem Monitor */ CW_USEDEFAULT, /* Fensterbreite */ CW_USEDEFAULT, /* Fensterhoehe */ NULL, NULL, hInstance, NULL); 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) { switch (message) { case WM_DESTROY: { PostQuitMessage(0); return 0; } } return DefWindowProc(hWnd, message, wParam, lParam); }aber jetzt bekomme ich sogar 14 fehlermeldungen:
Linking... window.obj : error LNK2019: unresolved external symbol __imp__DispatchMessageW@4 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__TranslateMessage@4 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__GetMessageW@16 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__UpdateWindow@4 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__CreateWindowExW@48 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__RegisterClassW@4 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__GetStockObject@4 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__LoadIconW@8 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__LoadCursorW@8 referenced in function _WinMain@16 window.obj : error LNK2019: unresolved external symbol __imp__DefWindowProcW@16 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) window.obj : error LNK2019: unresolved external symbol __imp__PostQuitMessage@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function _mainCRTStartup Debug\window.exe : fatal error LNK1120: 13 unresolved externals
-
hmm, ich habs mal mit dem dev-cpp versaucht und dort hats geklappt

-
mit
#include "stdafx.h"?
Statt
#define STRICT #undef _UNICODE #include "stdafx.h" #include <windows.h>genügt
#include <windows.h>Vorkompilierte Header brauchst Du nicht, weil sie nicht zu Deinem Projekt pass(t)en.
Blackbird