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

  #2181  
Старый 02.02.2018, 22:09
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

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

Имеется такая функция из сурсов соба

Код:





Код:
#define     FUNC_JPegCompressScreenToFile   0x5D0820
#define     CLASS_RwCamera                  0xB6F97C
 VOID CGameSA::TakeScreenshot ( char * szFileName )
 {
    DWORD dwFunc = FUNC_JPegCompressScreenToFile;
    _asm
    {
    mov     eax, CLASS_RwCamera
    mov     eax, [eax]
    push    szFileName
    push    eax
    call    dwFunc
    add     esp,8
    }
 }


Как её можно вызвать без asm вставки?
C++:





Код:
#define     FUNC_JPegCompressScreenToFile   0x5D0820
#define     CLASS_RwCamera                  0xB6F97C
typedef
void
(
_cdecl
*
JPegCompressScreenToFile
)
(
void
*
,
char
*
)
;
char
*
szFileName
=
"ПУТЬ ЗДЕСЬ"
;
JPegCompressScreenToFile Func
=
(
JPegCompressScreenToFile
)
FUNC_JPegCompressScreenToFile
;
Func
(
*
(
void
*
*
)
CLASS_RwCamera
,
szFileName
)
;


std::function я чет не осилил:sad_frog2:

Только зачем парится и не использовать ассемблер?
 
Ответить с цитированием