[Visual C++ 2008 EE] Problem z WinApi


(Kamil I 2006) #1

Witam.

Zainstalowałem sobie tego Visuala, bo był dorzucony kiedyś do NEXTa, stworzyłem projekt dla Win32 i zaznaczyłem Windows Application. Napisałem najprostszy program okienkowy i podczas kompilacji wysypuje się.

#include 


int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance,

                   LPSTR lpCmdLine, int nCmdShow)

{


    MessageBox(NULL, "Text", "Info", MB_OK | MB_ICONINFORMATION);

    return 0;

}

Tresc błedu to :

error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [5]' to 'LPCWSTR'


(Jarek) #2

Z tego co mgliście pamiętam z winapi to spróbuj takiego manewru:

MessageBox(NULL, L"Text", L"Info", MB_OK | MB_ICONINFORMATION);

lub takiego

MessageBox(NULL, _T("Text"), _T("Info"), MB_OK | MB_ICONINFORMATION);

"Text" i "Info" byłoby dobre, jakby korzystał z wersji funkcji MessageBoxA(), a nie tak jak aktualnie to robi MessageBoxW() (od wide char) i dlatego raczej jest potrzebne to "L" przed tekstem.


(Fiołek) #3

Jakbyś dobrze przeczytał komunikat i sprawdził co to ca typ(LPCWSTR) to byś sam doszedł w czym problem. Tu akurat komunikat mówi bardzo dużo.

@up podał rozwiązanie.


(Kamil I 2006) #4

Już sobie poradziłem wystarczyło zmienić: Project -> Configuration Properties -> General -> Character Set -> Use Multi-Byte Character Set