Давайте начнем с самого начала.
Функции возвращают результат по причине. Если вы игнорируете результат функции API, вы делаете что-то не так прямо сейчас! Не имеет значения, что представляет собой функция API, если есть возвращенный результат, вы не должны его отбрасывать. Это может быть объект, необходимый для дальнейшего использования, или код ошибки, или что-то такое же полезное. И, конечно же, дескрипторы окон - это очень полезные объекты, от которых не следует отказываться.
Теперь, когда вы взяли ручку и решили сохранить ее (как следует), вопрос будет как . Правда в том, завернуть это в класс или нет - это вторичное решение. Лучший способ сохранить дескрипторы окон - поместить их в какой-то динамический контейнер. Например, std::vector
.
Последний, но не по значимости, вопрос о том, как получить доступ к этому контейнеру дескрипторов из функции обработки сообщений. Одним из самых простых способов (хотя и не самым элегантным) было бы сделать этот вектор глобальной переменной. Любая маршрутизация обработчика сообщений будет иметь легкий доступ к ней.