Как включить заголовочные файлы Windows в приложение C / WinRT?

#c #winapi #c -winrt

#c #winapi #c -winrt

Вопрос:

Я работаю в проекте типа C / WinRT. Мне нужно использовать элементы из winuser.h. MSDN говорит включить windows.h, который автоматически включает winuser.h. Когда я делаю это, оператор include для windows.h не сообщает об ошибках. Однако, когда я пытаюсь получить доступ к элементам windows.h или winuser.h в моем коде, компилятор сообщает «идентификатор не определен». Мне кажется странным, что мне нужно будет установить обычный заголовочный файл Win32 в качестве внешней зависимости. Разве Visual Studio не должна иметь возможность находить эти файлы сама по себе? Кто-нибудь знает, что здесь происходит? Я неправильно ссылаюсь на участников в своем коде? Я был убежден, что как только заголовочный файл будет включен, я смогу напрямую ссылаться на его элементы.

Комментарии:

1. Ну, вам также нужно связать библиотеки Win32 (например, user32.lib), простого включения заголовков будет недостаточно. Я не уверен, что это решит вашу проблему. Но это обязательный шаг.

2. Вы ориентируетесь на UWP? В случае, если это так, доступны ли функции, которые вы пытаетесь вызвать, для приложений UWP?

3. Ваша проблема решена? Если ваша проблема не решена, пожалуйста, не стесняйтесь и свяжитесь с нами.

4. Разве это не должно подпадать под действие windowsapp.lib? Я пытаюсь сделать то же самое, и MSDN сообщает, что Visual Studio 2022 автоматически включит windowsapp.lib в новые типы проектов C / WinRT, но все равно я получаю «идентификатор»WNDCLASS» не определен». Я пропускаю директиву include или namespace? Я проверил свойства проекта, и windowsapp.lib включен.