Почему я получаю сообщение об ошибке «WM_MENUCOMMAND не был объявлен в этой области», когда я включил windows.h?

0

Я пытаюсь сделать приложение, которое захватывает выбор элементов контекстного меню, и до сих пор у меня было включено windows.h, и, похоже, оно работает нормально, но по какой-то причине я получаю сообщение об ошибке "WM_MENUCOMOMAND не был объявлен в этот объем ". Я нахожусь на windows xp, поэтому я отвечаю минимальным системным требованиям, указанным MSDN, я считаю, что нет причин, по которым он не должен работать. Как заставить WM_MENUCOMMAND работать?

  • 0
    Ваш проект разделен на несколько файлов?
  • 0
    Похоже, вы еще не определили WINVER .
Показать ещё 3 комментария
Теги:
winapi

1 ответ

1
Лучший ответ

WM_MENUCOMMAND определяется в winuser.h (в котором содержится windows.h), но только тогда, когда WINVER >= 0x0500 и _WIN32_WCE не определен. Таким образом, вы, вероятно, установите WINVER слишком низко. По умолчанию установлено значение 0x0500, поэтому что-то в вашем проекте должно переопределять его до более низкого значения.

  • 0
    #define _WIN32_WINNT 0x0500 вызовет это? Я добавил #define WINVER 0x500 в начало моего кода, так что если бы что-то переопределяло, это было бы перезаписано, я думаю ...
  • 0
    Проект Visual Studio по умолчанию включает в себя <SDKDDKVer.h> для установки WINVER . Значение по умолчанию зависит от SDK, используемого для компиляции проекта.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню