Посмотрите видео ниже, чтобы узнать, как установить наш сайт в виде веб-приложения на главном экране.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Какой клиент:
Тестировалось на High Five, но подойдет любой.
В комплекте:
Исходники.
В папке Release готовый билд, собирался на VS2022.
В той же папке инструкция по добавлению в свой интерфейс.
Описание:
Устанавливает титул активного окна клиента из лобби в зависимости от персонажа которого выбрали.
Баги:
Когда окно не активно при возвращении в него ставит титул по...
Можете посмотреть как сделано в том же rguard, ftguard.Спасибо, я не это имею в виду, я про смену названия в принципе, а не смену на ник.
Куда это пихать подскажите? Ну в сурсах.Посмотреть вложение 85894
так тут же сурс есть и подправить можно, не?
Из этого поста, в исходном коде файл main.cpp на строке 76Куда это пихать подскажите? Ну в сурсах.
Можете посмотреть как сделано в том же rguard, ftguard.Спасибо, я не это имею в виду, я про смену названия в принципе, а не смену на ник.
Из этого поста, в исходном коде файл main.cpp на строке 76
из этого поста, также main.cpp но строка 18Можете посмотреть как сделано в том же rguard, ftguard.Спасибо, я не это имею в виду, я про смену названия в принципе, а не смену на ник.
Принцип похожий, исходники выкладывали в ресурсы или в темах было.
Вот еще вариант:
на первом скрине, а именно метод FindWindowA, в нем указывается искомый текст. Точнее осуществляется поиск окна с указанным титлом.Я не профи, но вроде все элементарно, или нет?
Показ никнейма в имени окна. вроде для ит. (Спасибо все получилось.
И снова вернулось ориг название.
Да, после альттаба возвращается снова Lineage II
Можно ли на постоянной основе это сделать?
LRESULT CALLBACK WndProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
if (uMsg == WM_SETTEXT && playerName && lstrcmpW(reinterpret_cast<LPCWSTR>(lParam), playerName) != 0) {
return TRUE;
}
return reinterpret_cast<WNDPROC>(wndProcOriginalHandler)(hwnd, uMsg, wParam, lParam);
}
BOOL CALLBACK WndCallback(HWND hwnd, LPARAM lparam) {
DWORD pid;
GetWindowThreadProcessId(hwnd, &pid);
if (pid == static_cast<DWORD>(lparam)) {
if (!wndProcOriginalHandler) {
wndProcOriginalHandler = reinterpret_cast<LPVOID>(GetWindowLong(hwnd, GWL_WNDPROC));
if (!SetWindowLong(hwnd, GWL_WNDPROC, reinterpret_cast<LONG>(&WndProc))) {
OutputDebugStringA("failed to change window proc handler");
::ExitProcess(0);
}
}
pHwnd = hwnd;
if (SetWindowTextW(hwnd, playerName) == FALSE) {
OutputDebugStringA("failed to change window text");
}
return FALSE;
}
return TRUE;
}