Uzman Üye
Arkadaşlar bu riot clientin yeni sürümünde id şifre yazdığımız ve giriş butonunun yerleri farklı eski client için şöyle bir kod var fakat yeni cliente uyarlayamıyorum nasıl uyarlayabilirim ?. winspy ile denedim ama winspy kullanmayı bilmediğim için pek bir sonuç çıkartamadım.
Kod:
#include <windows.h>
#include <iostream>
BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam) {
char className[256];
GetClassNameA(hwnd, className, sizeof(className));
if (strcmp(className, "RiotWindowClass") == 0) {
HWND loginWindow = FindWindowEx(hwnd, NULL, "Shell Embedding", NULL);
loginWindow = FindWindowEx(loginWindow, NULL, "Shell DocObject View", NULL);
loginWindow = FindWindowEx(loginWindow, NULL, "Internet Explorer_Server", NULL);
if (loginWindow != NULL) {
HWND idTextbox = FindWindowEx(loginWindow, NULL, "Edit", NULL);
SendMessage(idTextbox, WM_SETTEXT, 0, lParam);
HWND passwordTextbox = FindWindowEx(loginWindow, NULL, "Edit", NULL);
SendMessage(passwordTextbox, WM_SETTEXT, 0, lParam);
HWND loginButton = FindWindowEx(loginWindow, NULL, "Button", "Log In");
SendMessage(loginButton, BM_CLICK, 0, 0);
return FALSE;
}
}
return TRUE;
}
int main() {
const char* command = "\"C:\\Riot Games\\League of Legends\\LeagueClient.exe\" --launch-product=league_of_legends";
const char* id = "noinfo";
const char* password = "noinfo";
std::system(command);
Sleep(10000);
LPARAM lParam = (LPARAM)id;
if (EnumWindows(EnumWindowsProc, lParam) == FALSE) {
std::cout << "Giriş ekranı bulunamadı!" << std::endl;
return 1;
}
return 0;
}
Son düzenleme: