[C#]Launcher Text schreiben
-
Servus Leute,
Ich bräuchte wieder mal euer Rat.
Ich erstelle gerade hier etwas für ein Game, unszwar Allods Online, und bräuchte kurz Hilfe,
da ich am Launcher nicht weiter komme.
Ich habe ein Form angelegt mit den ein Textbox für Username und Password.
Wenn man auf den Button "Login" in meiner Form drückt, soll sich der Launcher des Spiels Allods Online öffnen,
da soll der automatisch die beiden Daten eintippen und auf Enter drücken, damit man sich einloggen kann.So, jetzt kommt der Haken.
Der Launcher, des Spiels, lässt sich öffnen, nur jedes mal, wenn der sich öffnet, lässt der scannen, ob neue Updates verfügbar sind und dann kommt das mit den Login Daten.Ich habe es umgehen können, indem ich ein Tread.Sleep() eingebaut habe,
wo man beim Scannen eine Pause einlegt, doch dann, wenn der Scan vorbei ist und der beiden Datenfelder erscheinen,
wo man eintippen soll, schreib die Software überhaupt nichts mehr...Hätte vielleicht eine Idee?
Hier ist ein Teil meines Codes:
string benutzerName = textBox1.Text; string benutzerPassword = textBox2.Text; Process.Start(Pfad); Thread.Sleep(100); Process[] allodsLauncher = Process.GetProcessesByName(Pfad); if (allodsLauncher.Length == 0) return; IntPtr windowHandle = allodsLauncher[0].MainWindowHandle; if (windowHandle == IntPtr.Zero) return; SendKeys.SendWait(benutzerName); SendKeys.SendWait("{TAB}"); SendKeys.SendWait(benutzerPassword); SendKeys.SendWait("{ENTER}");
Jetzt komme ich nicht weiter... Liegt es vielleicht daran,
dass der Fenster des Spiels im Vordergrund steht und die Software nicht im Background arbeitet?
Oder könnte es daran liegen, dass der Launcher die Ebene des SendKeys nicht akzeptiert bzw. nicht erkennt.Danke euch im voraus.
mit freundlichen Grüßen,
Newbie²
-
Servus,
ist zwar schon etwas her aber probier das mal:
http://www.c-plusplus.net/forum/295398-10
Das sollte des Rätsels Lösung sein.
Gruß
Hellsgore