[saco] Implement InstallShowCursorHook()

This commit is contained in:
RD42
2024-02-14 23:26:23 +08:00
parent 53c6b978c2
commit adce37adc0
3 changed files with 22 additions and 1 deletions

View File

@ -13,6 +13,7 @@ def_CreateFileW Real_CreateFileW = NULL;
def_ReadFile Real_ReadFile = NULL;
def_CloseHandle Real_CloseHandle = NULL;
def_GetFileType Real_GetFileType = NULL;
def_ShowCursor Real_ShowCursor = NULL;
ARCH_FILE_RECORD OpenArchRecords[MAX_OPEN_ARCH_FILES];
BOOL bArchRecordSlotState[MAX_OPEN_ARCH_FILES];
@ -97,6 +98,24 @@ DWORD WINAPI Arch_GetFileType( HANDLE hFile )
//----------------------------------------------------------
int WINAPI Arch_ShowCursor(BOOL bShow)
{
// TODO: Arch_ShowCursor
return Real_ShowCursor(bShow);
}
//----------------------------------------------------------
void InstallShowCursorHook()
{
Real_ShowCursor = (def_ShowCursor)DetourFunction(
(PBYTE)DetourFindFunction("user32.dll", "ShowCursor"),
(PBYTE)Arch_ShowCursor);
}
//----------------------------------------------------------
void InstallFileSystemHooks()
{
if(!bFileHooksInstalled) {

View File

@ -1,6 +1,7 @@
#pragma once
void InstallShowCursorHook();
void InstallFileSystemHooks();
#define MAX_OPEN_ARCH_FILES 50
@ -21,3 +22,4 @@ typedef BOOL (WINAPI *def_ReadFile)(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
typedef BOOL (WINAPI *def_CloseHandle)(HANDLE);
typedef DWORD (WINAPI *def_GetFileType)(HANDLE);
typedef int (WINAPI *def_ShowCursor)(BOOL);

View File

@ -86,8 +86,8 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
AddFontResourceA("gtaweap3.ttf");
AddFontResourceA("sampaux3.ttf");
//sub_10062970();
InstallFileSystemHooks();
InstallShowCursorHook();
pGame = new CGame();