Показать сообщение отдельно

  #2  
Старый 05.08.2017, 22:38
memir
Постоянный
Регистрация: 21.08.2015
Сообщений: 343
С нами: 5646349

Репутация: 163
По умолчанию

Цитата:
Сообщение от iAmerican  

Код покажи.
Если инжектить через cheat engine - то все работает.

C++:





Код:
LRESULT defwndproc
;
LRESULT CALLBACK
WindowProc
(
HWND   hwnd
,
UINT   uMsg
,
WPARAM wParam
,
LPARAM lParam
)
{
if
(
uMsg
==
WM_KEYDOWN
)
{
switch
(
wParam
)
{
case
VK_LEFT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD4
,
lParam
)
;
break
;
case
VK_RIGHT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD6
,
lParam
)
;
break
;
case
VK_UP
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD8
,
lParam
)
;
break
;
case
VK_DOWN
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYDOWN
,
VK_NUMPAD2
,
lParam
)
;
break
;
}
}
if
(
uMsg
==
WM_KEYUP
)
{
switch
(
wParam
)
{
case
VK_LEFT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD4
,
lParam
)
;
break
;
case
VK_RIGHT
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD6
,
lParam
)
;
break
;
case
VK_UP
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD8
,
lParam
)
;
break
;
case
VK_DOWN
:
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
WM_KEYUP
,
VK_NUMPAD2
,
lParam
)
;
break
;
}
}
return
CallWindowProcA
(
WNDPROC
(
defwndproc
)
,
hwnd
,
uMsg
,
wParam
,
lParam
)
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD  ul_reason_for_call
,
LPVOID lpReserved
)
{
switch
(
ul_reason_for_call
)
{
case
DLL_PROCESS_ATTACH
:
defwndproc
=
SetWindowLongA
(
FindWindowA
(
0
,
"GTA:SA:MP"
)
,
GWL_WNDPROC
,
LONG
(
WindowProc
)
)
;
case
DLL_THREAD_ATTACH
:
case
DLL_THREAD_DETACH
:
case
DLL_PROCESS_DETACH
:
break
;
}
return
TRUE
;
}
 
Ответить с цитированием