c++ WinAPI und lauter Fehler
-
Ab VS2005 ist per default alles UNICODE (was auch gut so ist)...
Somit muss Dein Code so aussehen:#include <windows.h> #include <tchar.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE PrevInstance, PSTR szCmdLine, int CmdShow) { LPCTSTR Test1 = _T("Hallo"); int Ausgabe = MessageBox(NULL, Test1, _T("Hi"), MB_OKCANCEL | MB_ICONEXCLAMATION | MB_DEFBUTTON1); return 0; }
-
annst du den code vielleicht noch ein wenig erläutern? Wieso tchar inkludieren zB?
Und den Syntax hiervon:
LPCTSTR Test1 = _T("Hallo");
Was soll das _T(" ") bedeuten`?EDIT:
Ach und es entsteht nach dem compilen keine .exe...
-
In der tchar.h ist Unicode-Krempel definiert.
_T("HALLO") sagt das HALLO Unicode-Zeichen sein sollen.
(Unicode wird von Windows ab Win2K intern verwendet)(Alternativ kannst du Unicode vermutlich auch ausschalten)
Ne .exe entsteht bei Compile-Fehlern selten
-
geeky schrieb:
In der tchar.h ist Unicode-Krempel definiert.
Na... das stimmt so nicht ganz.
tchar.h enthält alle MACROS, welche es erlaube sowohl für ANSI als auch UNICODE mit *ein und dem selben* Source zu kompilieren. Deshalb spielt es dann keine Rolle ob ANSI oder UNICODE in den Projekteinstellungen definiert wurde...Das "_T" ist ein Macro, welches entweder zu "(nix)" expandiert oder zu "L"...
Somit wird entweder ein normaler String deklariert oder ein Unicode-String (L).
-
Mein neues Problem scheint unumgänglich:
Wie oben erwähnt bekomm ich keine .exe raus....
Was muss ich tun um eine zu bekommen? Nach dem ERFOLGREICHEN compilen ensteht keine?!
-
Dark_DanI schrieb:
Was muss ich tun um eine zu bekommen? Nach dem ERFOLGREICHEN compilen ensteht keine?!
Aber mit dem ERFOLGREICHEN linken...
Oder einfach F5 drücken...
-
Das System kann die angegebene Datei nicht finden...
Die exe scheint also nicht zu existieren?!:;
-
Hmmm...wie ich gelesen habe, benutzt du Dev-C++. Sollte das einer dieser seltsamen Bugs der IDE sein? Ansonsten, poste mal das Build Log. Bzw. schaue mal im Projektverzeichnis nach, ob dort irgendwo eine .exe erstellt wurde.
-
später hab ich geschrieben, dass ich seit der Empfehlung auf Visual C++ Express Edition umgestellt habe...
-
OK, ändert aber nichts daran
Ansonsten, poste mal das Build Log. Bzw. schaue mal im Projektverzeichnis nach, ob dort irgendwo eine .exe erstellt wurde.
-
WinAPI Projekt erstellen, Kleinigkeiten anpassen, dann funktionierts auch mit
dem DEV.