Как я только не пытался решить эту залупу.
Гугл привел меня к тому что проблема может быть с хуком ресета или с SetWindowLongPtr.
Так воот, проблема в том, что если я запущу кс сразу в полноэкранном, то она просто не открывается, но если в полноэкранном в окне, а потом изменить на полноэкранный, то все ок. При том раньше, когда я сворачивал кс, поменяв на полноэкранный и открыв менюшку, она у меня так же не разворачивалась обратно, но сейчас такого нет и проблема тогда была в хуке окна вроде б.
Гугл привел меня к тому что проблема может быть с хуком ресета или с SetWindowLongPtr.
Так воот, проблема в том, что если я запущу кс сразу в полноэкранном, то она просто не открывается, но если в полноэкранном в окне, а потом изменить на полноэкранный, то все ок. При том раньше, когда я сворачивал кс, поменяв на полноэкранный и открыв менюшку, она у меня так же не разворачивалась обратно, но сейчас такого нет и проблема тогда была в хуке окна вроде б.
C++:
long __stdcall menu::new_wndproc(HWND hwnd, UINT uMsg, WPARAM s, LPARAM ss) {
if (globals::menu && ImGui_ImplWin32_WndProcHandler(hwnd, uMsg, s, ss))
return true;
return CallWindowProc(globals::current_wndproc, hwnd, uMsg, s, ss);
}
void menu::initialize() {
ImGui::CreateContext();
while (!globals::current_wndproc) // с аргументами ошибок не должно быть
globals::current_wndproc = (WNDPROC)SetWindowLongPtr(globals::current_hwnd, GWLP_WNDPROC, (LONG_PTR)new_wndproc);
...
}