Frage

Ich versuche, ein paar Sachen auf einem Flash-Spiel zu automatisieren in einem WebBrowser-Steuerelement in meinem C # Programm ausgeführt wird. Mit user32 der Sendmessage dll Ich habe in der Lage gewesen, sich an den Koordinaten auf den regulären Seiten wie Google klicken, aber es funktioniert nicht auf Flash-Inhalte. Alle Möglichkeiten Ich kann dies tun? Auch kann es nicht nachweisbar sein, um das Flash-Spiel. Ich habe eine Arbeitsgruppe ein in autoit aber ich möchte es in c # neu zu schreiben und machen es minimiert arbeiten.

War es hilfreich?

Lösung

Warum nicht einfach rufen Sie Ihren Autoit / Autohotkey Skript von Ihrem C # Programm der System.Diagnostics.Process-Klasse?

ProcessStartInfo psi = new ProcessStartInfo("your_script.ahk");
psi.CreateNoWindow = true;

Process procScript = Process.Start(psi);
procScript.WaitForExit();

Beachten Sie die CreateNoWindow = true, um sicherzustellen, es versteckt läuft, und die WaitForExit (), um Ihren Code warten zu lassen für den Prozess zurückzukehren.

AutoIt und AutoHotkey haben einige sehr leistungsfähige Automatisierungs-Befehle, die im Laufe der Jahre verfeinert wurde. Es ist sehr schwer ähnliche C # /. NET-Funktionalität zu reproduzieren, die genauso zuverlässig ist, glauben Sie mir, ich habe versucht.

Andere Tipps

Überprüfen Sie heraus WatiN. Leistungsstarke Browser Automatisierung, kompatibel mit C #:

http://watin.sourceforge.net/

oder Sendmessage Postmessage verwenden funktionieren. Sie müssen 3-Nachrichten senden, WM_MOUSEMOVE, dann WM_MOUSEDOWN, dann WM_MOUSEUP. Die WM_MOUSEMOVE muss einen anderen Ort als die WM_MOUSEDOWN und WM_MOUSEUP anzuzeigen. WM_MOUSEDOWN und WM_MOUSEUP sollten an der gleichen Stelle sein. Funktioniert bei mir.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top