Как получить главное окно Java Minecraft?

Я делаю универсальную программу для игры Minecraft. Мне нужно найти способ получать HWND главного окна на любой версии игры. Класс главного окна может быть разным, так же как и его родитель. Бывает так что главное окно дочернее, а бывает что оно родительское. Единственный безотказный способ получить HWND главного окна в любой версии Java Minecraft который я знаю — это установка ловушки на функцию SwapBuffers и вызов функции WindowFromDC(hDC). Однако, ставить ловушку просто из-за того чтобы получить HWND главного окна такое себе, тем более что у меня не получалось корректно её убрать когда она уже не нужна (когда HWND был получен) хотя все параметры оригинальной функции были скопированы 1 в 1. Функция wglGetCurrentDC работает только внутри SwapBuffers. Вне она возвращает 0, так что тоже не подходит. Не подходит и FindWindow, объяснять почему думаю не стоит. EnumWindows тоже, так как нет возможности точно определить что это именно главное окно в котором идёт отрисовка, а не какое-нибудь другое. Может быть есть какой-нибудь способ получить список созданных DC текущего процесса и по первому уже получить HWND окна?


Ответы (0 шт):