Привет всем! Я решил сделать чит для танков онлайн, ради практики. Скачал клиент, а там пустое название окна, а мне, чтобы добыть HANDLE процесса нужно имя окна, так как использую FindWindow(); Как найти название окнa?
Нуу, в папке C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\Tools есть программа spyxx_amd64.exe Ищешь в этой программе класс Chrome и получаешь хвид окна Chrome, к примеру: HWND hChrome = FindWindow("Класс окна chrome", NULL) Код HWND hChrome = FindWindow("Класс окна chrome", NULL) Я не ебу как дочерние окна расположены, точнее в какой иерархии(лень посмотреть), но чтобы получить дочернее окно, то пишешь: // --------------------------------------------------- // Получает дочернее окно // Тобишь то, которое сразу под основным(отмечено ->) // hChrome // -> hChromeChildWindow // Если вписать такую команду много раз, то можно сместиться ещё ниже, т.е. в дочернее окно дочернего окна: // hChrome // hChromeChildWindow // -> hChromeDoubleChildWindow // ----------------------------------------------------- HWND hChromeChildWindow = GetWindow(hChrome, GW_CHILD); Код // --------------------------------------------------- // Получает дочернее окно // Тобишь то, которое сразу под основным(отмечено ->) // hChrome // -> hChromeChildWindow // Если вписать такую команду много раз, то можно сместиться ещё ниже, т.е. в дочернее окно дочернего окна: // hChrome // hChromeChildWindow // -> hChromeDoubleChildWindow // ----------------------------------------------------- HWND hChromeChildWindow = GetWindow(hChrome, GW_CHILD); Но я точно уверен в том, что каждой вкладке в хроме не будет дан уникальный класс поэтому иерархия окон будет примерно такая(каждый hChromeCHildWindow = новая вкладка hChrome hChromeChildWindow hChromeChildWindow hChromeChildWindow И чтобы от первой вкладке перейти к следующей на том же уровне, нужно написать: hChromeChildWindow = GetWindow(hChromeChildWindow, GW_NEXT); Код hChromeChildWindow = GetWindow(hChromeChildWindow, GW_NEXT); Собсна все, но прикол в том, что получить хендл танков онлайн ты не сможешь, ибо это онлайн игра и совсем уж не процесс, запущенный в твоей системе А вообще получать хендлы это другое, это нужно узнавать ID процесса и потом открывать хендл при помощи OpenProcess
Есть софт для смены названия окна, а так же исходники этой функции. Вроде как-то это делается так: AfxGetApp()->GetMainWnd()->SetWindowText("текст"); (возможно опоздал немного, но лучше поздно, чем никогда)