|
Окно клиента - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
16.10.2017, 21:11
|
#1
|
|
|
|
Разведчик
|
Регистрация: 20.01.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Окно клиента
Добрый день, играю на сервере, на котором название окна само по себе меняется каждые пару секунд, пробовал изменить название окна с помощью программ, но ничего не работает. Можно как то сделать, чтобы оно перестало всё время менять название?
|
|
|
09.11.2017, 18:41
|
#2
|
|
|
|
Сержант
|
Регистрация: 11.12.2010
Сообщений: 110
Популярность: 541
Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
|
Re: Окно клиента
Приветствую.
Если цель - именно остановить изменение названия, то вам потребуется отладчик, например x64dbg или OllyDbg, и с его помощью потребуется найти место в коде игры, из которого запускается WinAPI-функция SendWindowText(). Найдёте - измените поток исполнения кода так, чтобы она не выполнялась.
Если цель - поработать с процессом игры, например, открыть его на запись или чтение памяти средствами функций OpenProcess и Read/WriteProcessMemory, то есть и другие способы получить ID процесса. Один из них - попробовать искать окно игры через функцию FindWindow используя не заголовок окна, а название класса окна (используйте первый параметр функции вместо второго). Получить имя класса окна можно специальными утилитами, название которых я сейчас не назову, но можете попробовать погуглить названия типа "Windows Spy". Второй способ гораздо более громоздкий в плане программирования (по сравнению с использованием FindWindow), но позволит найти ID процесса по имени процесса: это использование функции CreateToolhelp32Snapshot (рабочий код для C++ Builder я приводил в одной из своих тем, см. начало части 3: https://zhyk.ru/forum/showthread.php?t=274071).
Удачи.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
|
|
|
29.01.2018, 15:17
|
#3
|
|
|
|
Разведчик
|
Регистрация: 20.01.2014
Сообщений: 0
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Окно клиента
|
Цитата: |
|
|
|
|
Сообщение от BritishColonist |
|
|
|
|
|
|
|
Приветствую.
Если цель - именно остановить изменение названия, то вам потребуется отладчик, например x64dbg или OllyDbg, и с его помощью потребуется найти место в коде игры, из которого запускается WinAPI-функция SendWindowText(). Найдёте - измените поток исполнения кода так, чтобы она не выполнялась.
Если цель - поработать с процессом игры, например, открыть его на запись или чтение памяти средствами функций OpenProcess и Read/WriteProcessMemory, то есть и другие способы получить ID процесса. Один из них - попробовать искать окно игры через функцию FindWindow используя не заголовок окна, а название класса окна (используйте первый параметр функции вместо второго). Получить имя класса окна можно специальными утилитами, название которых я сейчас не назову, но можете попробовать погуглить названия типа "Windows Spy". Второй способ гораздо более громоздкий в плане программирования (по сравнению с использованием FindWindow), но позволит найти ID процесса по имени процесса: это использование функции CreateToolhelp32Snapshot (рабочий код для C++ Builder я приводил в одной из своих тем, см. начало части 3: https://zhyk.ru/forum/showthread.php?t=274071).
Удачи.
|
|
|
|
|
|
Спасибо
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 17:44.
|
|