2009-05-09 10 views
3

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

+0

http://www.lancelarsen.com/Blog/tabid/72/EntryId/48/AutoIt-C-Helper-Library.aspx これは実際に私が –

+0

EVONYまたは何かを受け入れた答えよりも有用でしたか? ;) –

+0

他の何か、evonyのための追加のすべてのセミヌードのコンピュータの女の子は、私はそれがどのようなaobutだったかを見たくないようになりました.. –

答えて

3

なぜだけではなく、System.Diagnostics.Processクラスを使用してC#のプログラムからあなたのAutoIt/AutoHotkeyをスクリプトを呼び出しますか?

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

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

それが隠され実行され、WaitForExit(確実にするためにCreateNoWindow = trueのお知らせ)、返すためのプロセスのためにあなたのコードを待機させます。

AutoItとAutoHotkeyには、長年にわたって洗練された非常に強力な自動化コマンドがあります。同様の信頼性のある類似のC#/ .NET機能を再現することは非常に難しく、試してみたと思います。

2

WatiNをご覧ください。 C#のと互換性のある強力なブラウザの自動化、:

http://watin.sourceforge.net/

+0

素晴らしいツール。ありがとうございました。 –

+0

ええ、WatiNは素晴らしいです...選択した答えがあなたのために働かないなら、それを試してください。 –

1

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