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

  #5  
Старый 11.12.2022, 17:51
AdCKuY_DpO4uLa
Постоянный
Регистрация: 05.08.2018
Сообщений: 372
С нами: 4091290

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

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

де и как правильно почистить тут за собой?

C++:





Код:
#include "main.hpp"
LRESULT CALLBACK
WindowProc
(
HWND hwnd
,
UINT uMsg
,
WPARAM wParam
,
LPARAM lParam
)
{
switch
(
uMsg
)
{
case
WM_KEYUP
:
{
switch
(
wParam
)
{
case
0x31
:
{
*
reinterpret_cast

(
0xC81320
)
+=
1
;
/*
                        sprintf(buffer, "weatherID: %d", *(unsigned __int16*)0xC81320);
                        printStringNow(buffer, 1000, NULL, false);
                    */
break
;
}
case
0x32
:
{
*
reinterpret_cast

(
0xC81320
)
-=
1
;
/*
                        sprintf(buffer, "weatherID: %d", *(unsigned __int16*)0xC81320);
                        printStringNow(buffer, 1000, NULL, false);
                    */
break
;
}
}
}
}
return
CallWindowProcA
(
WNDPROC
(
wHandle
)
,
hwnd
,
uMsg
,
wParam
,
lParam
)
;
}
BOOL APIENTRY
DllMain
(
HMODULE hModule
,
DWORD fdwReason
,
LPVOID lpReserved
)
{
switch
(
fdwReason
)
{
case
DLL_PROCESS_ATTACH
:
{
DisableThreadLibraryCalls
(
hModule
)
;
wHandle
=
SetWindowLongA
(
FindWindowA
(
NULL
,
"GTA:SA:MP"
)
,
GWL_WNDPROC
,
LONG
(
WindowProc
)
)
;
break
;
}
case
DLL_PROCESS_DETACH
:
{
break
;
}
}
return
TRUE
;
}

юзай хукер, а не эту шляпу, для перехвата wnd proc
 
Ответить с цитированием