错误:LOWORD未声明

时间:2013-11-04 03:01:35

标签: c++ winapi

我遇到了这个问题:

LOWORD未声明

使用这段代码:

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

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

1 个答案:

答案 0 :(得分:2)

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

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