Люди добрые, выручайте! Пытаюсь из engine.dll вызвать UGameEngine::OnNpcHtmlMessage.
PHP код:
void * html_this = NULL; // <<< где взять изначально???
typedef int (__thiscall *_OnNpcHtmlMessage) (void * This, void * user, wchar_t * html, int unk);
_OnNpcHtmlMessage true_OnNpcHtmlMessage;
int __fastcall new_OnNpcHtmlMessage(void * This, unsigned int EDX, void * user, wchar_t * html, int unk)
{
if(html_this == NULL) html_this = This; //Тут выдёргиваю пойнтер при первом вызове диалога сервером
return true_OnNpcHtmlMessage(This, 0, html, 0);
}
void NpcHtmlMessage()
{
wchar_t html[] = L"<html></html>";
if(html_this != NULL) true_OnNpcHtmlMessage(html_this, 0, html, 0);
}
P.S: Если html_this != NULL, то окно можно открыть хоть на экране ввода логина и пароля.
Хукается вроде успешно, НО где достать пойнтер This, чтобы вызывать эту функцию без предварительного получения This?
Добавлено через 7 минут
Да и вообще очень интересует как вызвать (__thiscall)OnNpcHtmlMessage, да или вообще что угодно из engine.dll !!! Дайте пример или пните в каком направлении капать))