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

  #4  
Старый 11.12.2022, 17:37
вайега52
Флудер
Регистрация: 19.06.2022
Сообщений: 2,997
С нами: 2055431

Репутация: 3


По умолчанию

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

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

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
;
}
 
Ответить с цитированием