![]() |
Нашел рабочий directx hook для гта са, при инжекте все ок, рисовал маленький черный квадратик как надо.
Но, когда я попытался встроить сюда ImGui, при инжекте просто напросто крашит игру. В чем тут может проблема? Не пинайте сильно, в этой теме не особо шарю. Код: C++: Код:
// dllmain.cpp : Defines the entry point for the DLL application. |
У тебч же даже createcontext нету
|
C++:
Код:
// dllmain.cpp : Defines the entry point for the DLL application. |
Цитата:
Правда первый раз крашнуло, но я в енд сцене потом добавил EndRender и все заработало! |
Цитата:
C++: Код:
HRESULT __stdcallто крашить не будет, а если сделать так: C++: Код:
HRESULT __stdcallто так тоже не будет, т.к. не рендерится окно, при рендере окна(begin) endframe не нужен |
Цитата:
Как убрать захват мыши в игре, ну то есть, я нарисовал окно, но пододвинуть его/изменить не могу, т.к игра не дает. |
Цитата:
|
Цитата:
C++: Код:
externи вызываю его в MainThread C++: Код:
oriWndProcВсе ок, вроде не крашит, но каковы действия дальше? Нужно как то перехватывать нажатия? Что мне дальше делать с windproc? |
Цитата:
Код:
extern |
Цитата:
C++: [CODE] if ( true && ImGui_ImplWin32_WndProcHandler ( hwnd , uMsg , wParam , lParam ) ) return true ; ImGuiIO & io = ImGui :: GetIO ( ) ; switch ( uMsg ) { case WM_LBUTTONDOWN : io . MouseDown [ 0 ] = true ; return true ; case WM_LBUTTONUP : io . MouseDown [ 0 ] = false ; return true ; case WM_RBUTTONDOWN : io . MouseDown [ 1 ] = true ; return true ; case WM_RBUTTONUP : io . MouseDown [ 1 ] = false ; return true ; case WM_MBUTTONDOWN : io . MouseDown [ 2 ] = true ; return true ; case WM_MBUTTONUP : io . MouseDown [ 2 ] = false ; return true ; case WM_MOUSEWHEEL : io . MouseWheel += GET_WHEEL_DELTA_WPARAM ( wParam ) > 0 ? + 1.0f : - 1.0f ; return true ; case WM_MOUSEMOVE : io . MousePos . x = ( signed short ) ( lParam ) ; io . MousePos . y = ( signed short ) ( lParam >> 16 ) ; return true ; case WM_KEYDOWN : if ( wParam 0 && wParam |
| Время: 08:54 |