1

我遇到了这个问题:

LOWORD 未声明

使用这段代码:

case WM_COMMAND:
        {
            if (lParam==0)
            {
                if ((LOWORD)wParam==IDM_HELLO)
                   MessageBox(0, L"Hello", (LPCSTR)szClassName, MB_OK);
            }
        break;
        }

我不知道我失去了什么。有人帮我吗?

4

1 回答 1

2

LOWORD不是您将变量转换为的类型,而是用于提取 32 位值的低 16 位的宏。如果您将其更改为以下代码,您的代码可能会编译:

case WM_COMMAND:
{
    if (lParam==0)
    {
        if (LOWORD(wParam) == IDM_HELLO)
        {
            MessageBox(0, L"Hello", (LPCSTR)szClassName, MB_OK);
        }
    }
    break;
 }
于 2013-11-04T03:06:28.880 回答