C++ 无法设置windows名称

C++ 无法设置windows名称,c++,char,window,cons,lpcwstr,C++,Char,Window,Cons,Lpcwstr,所以我试着组装一扇窗户,但当我需要给窗户命名时,我告诉了我。 错误:“const char*”类型的参数与“LPCWSTR”类型不兼容 下面是CreateWindow方法的编程。错误应该在第2行 欢迎所有的帮助! 提前谢谢。您需要一个宽字符串。在字符串前面加上L hwnd = CreateWindow( L"Engine_Winter_Name", L"Winter Engine", 您正在使用定义的UNICODE进行编译,这意味着例如CreateWindow宏映射到Creat

所以我试着组装一扇窗户,但当我需要给窗户命名时,我告诉了我。 错误:“const char*”类型的参数与“LPCWSTR”类型不兼容 下面是CreateWindow方法的编程。错误应该在第2行

欢迎所有的帮助!
提前谢谢。

您需要一个宽字符串。在字符串前面加上L

hwnd = CreateWindow(
    L"Engine_Winter_Name",
    L"Winter Engine",
您正在使用定义的UNICODE进行编译,这意味着例如CreateWindow宏映射到CreateWindowW,后者需要基于宽字符的参数:

hwnd = CreateWindow(
    L"Engine_Winter_Name",
    L"Winter Engine",
    WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION,
    GetSystemMetrics(SM_CXSCREEN)/2 - WIDTH/2,
    GetSystemMetrics(SM_CYSCREEN)/2 - HEIGHT/2,
    WIDTH,
    HEIGHT,
    HWND(),
    HMENU(),
    hInstance,
    nullptr);

if (!hwnd)
    return false;

ShowWindow(hwnd, nCmdShow);
对于现代Windows桌面编程,通常最好使用基于Unicode的API,就像您正在做的那样

hwnd = CreateWindow(
    L"Engine_Winter_Name",
    L"Winter Engine",
    WS_OVERLAPPED | WS_SYSMENU | WS_CAPTION,
    GetSystemMetrics(SM_CXSCREEN)/2 - WIDTH/2,
    GetSystemMetrics(SM_CYSCREEN)/2 - HEIGHT/2,
    WIDTH,
    HEIGHT,
    HWND(),
    HMENU(),
    hInstance,
    nullptr);

if (!hwnd)
    return false;

ShowWindow(hwnd, nCmdShow);