   VS 2005 problem
  I'm trying to write a very simple windows program.The following code compiles and runs fine under VC++ 2003, but under vs2005 I get an error. #define WIN32_LEAN_AND_MEAN// trim down the libraries used#include <windows.h>// main windows header// the main entry point to the programint WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd){// show a very simple message box with the text "Hello, world!" displayedMessageBox(NULL, "\tHello, world!", "My First Windows Application", NULL);return 0;}Here's the error I get: error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'const char [15]' to 'LPCWSTR'1>   Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style castDoes anyone know why VS2005 doesn't like this?   
  VS2005 uses wide characters by default for Win32, a wide string looks like this:L"contents"The string type is std::wstring (a typedef for std::basic_string<wchar_t>) and the char type is wchar_t. You can also tell it to use ASCII characters again in your project options.EDIT: You modify the character set here:Project properties->Configuration properties->General->Character Set, set to "Use Multi-Byte Character Set"   ;  That worked. Thanks   ;  You can also use the TEXT() macro around the literal string.  This will tac on the L if your are compiling using a wide character set or leave it off it you are using signle byte character set.   