3

C# プログラムの Web ブラウザー コントロールで実行されているフラッシュ ゲームでいくつかのことを自動化しようとしています。user32 の sendmessage dll を使用して、Google などの通常のページの座標をクリックできましたが、Flash コンテンツでは機能しません。これを行う方法はありますか?また、フラッシュゲームでは検出できません。私は autoit で動作するものを持っていますが、C# で書き直して最小化して動作させたいと思っています。

4

2 に答える 2

3

System.Diagnostics.Process クラスを使用して、C# プログラムから Autoit/Autohotkey スクリプトを呼び出してみませんか?

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

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

CreateNoWindow=true で確実に非表示で実行され、WaitForExit() でプロセスが戻るまでコードを待機させることに注意してください。

AutoIt と AutoHotkey には、何年にもわたって改良されてきた非常に強力な自動化コマンドがいくつかあります。信頼できる同様の C#/.NET 機能を再現することは非常に困難です。

于 2009-05-09T05:31:18.587 に答える
1

SendMessage または PostMessage を使用すると機能します。WM_MOUSEMOVE、WM_MOUSEDOWN、WM_MOUSEUP の 3 つのメッセージを送信する必要があります。WM_MOUSEMOVE は、WM_MOUSEDOWN および WM_MOUSEUP とは異なる場所を示す必要があります。WM_MOUSEDOWN と WM_MOUSEUP は同じ場所にある必要があります。私のために働きます。

于 2009-12-13T15:17:04.620 に答える