Доброго времени суток.
Кто-нибудь разбирался с TL.exe? Не могу информацию по нему найти.
Сам поковырялся и выяснил только, что:
1. Чтобы не было ошибки "Can't find SSNL", надо у лаунчера присваивать класс "EME.LauncherWnd" и TL запускать через ShellExecute с хэндлом самого лаунчера, а не с NULL.
2. Потом TL.exe передает лаунчеру сообщения, предварительно выяснив его хэндл.
По ходу сообщения следующего содержания:
Hello!! = 0x0DBADB0A
slsurl = 2
gamestr = 3
last_svr = 5
char_cnt = 6
csPopup = 0
ticket = 8
там ещё списочек, но с ними надо ковыряться.
Вопрос то в следующем: передает он через
но как получает ответ. Пока не понятно.
p.s.: клиент USA офф.
Кто-нибудь разбирался с TL.exe? Не могу информацию по нему найти.
Сам поковырялся и выяснил только, что:
1. Чтобы не было ошибки "Can't find SSNL", надо у лаунчера присваивать класс "EME.LauncherWnd" и TL запускать через ShellExecute с хэндлом самого лаунчера, а не с NULL.
2. Потом TL.exe передает лаунчеру сообщения, предварительно выяснив его хэндл.
По ходу сообщения следующего содержания:
Hello!! = 0x0DBADB0A
slsurl = 2
gamestr = 3
last_svr = 5
char_cnt = 6
csPopup = 0
ticket = 8
там ещё списочек, но с ними надо ковыряться.
Вопрос то в следующем: передает он через
Код:
COPYDATASTRUCT cs;
cs.dwData = 0X0DBADB0A;
cs.cbData = длина команды учитывая ноль в конце;
cs.lpData = ссыль на команду;
HRESULT rs1 = SendMessage(FindWindow("EME.LauncherWnd", NULL), WM_COPYDATA, (WPARAM)hMain, (LPARAM)&cs);
if (rs1 != NULL)
{
MessageBox(NULL, "ok", ":)", MB_OK);
}
p.s.: клиент USA офф.