Как получить HWND с помощью указателя GLFWwindow?

#c #windows #glfw

#c #Windows #glfw

Вопрос:

У меня есть указатель на GLFWwindow(это структура, определенная в glfw3.h, кажется, структура OpenGL?). Как я могу использовать указатель для получения HWND?

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

1. Ссылка, размещенная в ответе, является первым результатом поиска для «GLFWWindow HWND». Пожалуйста, проведите минимум исследований перед публикацией на SO.

Ответ №1:

В GLFW есть раздел о собственном доступе, там вы можете найти эту функцию, которая позволяет вам извлекать HWND :

HWND glfwGetWin32Window ( GLFWwindow * window) :

ВОЗВРАТ
HWND указанного окна или NULL, если произошла ошибка.
Безопасность потоков
Эта функция может быть вызвана из любого потока. Доступ не синхронизирован.
Поскольку
Добавлено в версии 3.0.

Пожалуйста, внимательно прочитайте документацию:

Используя собственные функции доступа, вы утверждаете, что знаете, что делаете, и как исправить проблемы, вызванные их использованием. Если вы этого не сделаете, вам не следует их использовать.
Перед включением glfw3native.h вы можете определить ноль или более макросов API оконной системы и ноль или более макросов API для создания контекста.
Выбранные серверные части должны соответствовать тем, для которых была скомпилирована библиотека. Невыполнение этого требования приведет к ошибке времени соединения.

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

1. Действительно ценю. Я долго искал код glfw и не нашел этого кода….

2. @ZeroZerg вы должны читать документы , а не код, в котором есть раздел Native access: Functions related to accessing native handles . Кроме того, как уже упоминалось в другом комментарии, поиск GLFWWindow HWND ведет именно на эту страницу.