Название процесса/Окна

Maiden7

Величайший
Проверенный
Сообщения
803
Розыгрыши
0
Решения
3
Репутация
170
Реакции
648
Баллы
1 563
Хроники
  1. Chaotic Throne: High Five
Исходники
Присутствуют
Сборка
L2J Mobius
Доброго времени суток.
Подскажите как на ХФ клиента изменить название окна?

Ведь из exe шника идет, но как/чем изменить?
Заранее спасибо!
 
 
Спасибо, я не это имею в виду, я про смену названия в принципе, а не смену на ник.
Можете посмотреть как сделано в том же rguard, ftguard.
Принцип похожий, исходники выкладывали в ресурсы или в темах было.

Вот еще вариант:
 
Последнее редактирование:
Куда это пихать подскажите? Ну в сурсах.
Из этого поста, в исходном коде файл main.cpp на строке 76

из этого поста, также main.cpp но строка 18
 
Из этого поста, в исходном коде файл main.cpp на строке 76

из этого поста, также main.cpp но строка 18


Ну вот дошли руки:


Я не профи, но вроде все элементарно, или нет?
 
Я не профи, но вроде все элементарно, или нет?
на первом скрине, а именно метод FindWindowA, в нем указывается искомый текст. Точнее осуществляется поиск окна с указанным титлом.
Так что нужно было оставить "Lineage II", а вот уже в функции SetWindowTextA мы указываем на что заменить, при удачном поиске.
 
Спасибо все получилось.
И снова вернулось ориг название.
Да, после альттаба возвращается снова Lineage II
Можно ли на постоянной основе это сделать?
 
Последнее редактирование:
Спасибо все получилось.
И снова вернулось ориг название.
Да, после альттаба возвращается снова Lineage II
Можно ли на постоянной основе это сделать?
Показ никнейма в имени окна. вроде для ит. ( )
вам нужно вроде только будет это.
C++:
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;
}
 

Вложения

Назад
Сверху