私はFlashゲームのボットを作っています。AutoItのすべての関数をC#コードにインポートする方法を知りました。C#とAutoItを使ってFlashゲームにメッセージを送信する
string title = "Minesweeper";
string full = auto.WinGetTitle(title,"");
string handle = auto.WinGetHandle(full, "");
if (auto.WinExists(full, "") == 1)
textBox1.Text = "window exists";
addressBox.Text = full;
for (int r = 1; r < 40; r++)
{
auto.ControlClick(full, "", "", "left", 2, r * 10, r * 10);
//auto.ControlClick(handle, "", "", "left", 2, r * 10, r * 10);
}
(私はコメントのない1は、ハンドルとその逆であるべきであるかなり確信しているが、これはMinesweeperのために働く。)
だから、マインスイーパのために働くとすることを必要としません。アクティブなウィンドウ私がそれを私のフラッシュゲームで動かそうとすると、インターネット エクスプローラウィンドウがアクティブになる必要があります。これにはFlashに必要なものがありますか、ゲームが最小限に抑えられたときに動作させるために追加できるものがありますか?
これは、AutoItインポートを使用して行う必要はありません。私は一度にuser32のSendMessageを試してみましたが、それは私のためにFlashコンテンツではうまくいきませんでした。
私はだけではなく、Flashサイトや掃海艇と私はAutoItのスクリプトプログラムの中から、それを実行した場合、コードが動作するいくつかの理由ではなく、私のC#プログラムからのランダムなウェブサイト上でこれをテストした...
2012年6月20日:これはハンドルがどのように渡されるかとは関係があります。私はAutoIt EXEファイルを呼び出し、C#コードから取得したハンドルを使用していくつかのテストを行いました。0x
を追加して、AutoItコード内に文字列からキャストする必要がありますHWndには何かがある可能性があります。インポートされた関数はハンドルの文字列入力に依存しているので、何をすべきか分かりません。
どのように自動関数をC#にエクスポートしましたか?私はちょうど興味がある。 –
http://www.lancelarsen.com/Blog/tabid/72/EntryId/48/AutoIt-C-Helper-Library.aspx 誰かがDLLライブラリから関数をインポートするクラスを作成したressourcesを持つサイトです。しかし、私は、図書館だけを含めれば、彼が作ったクラスを必ずしも使う必要はないと思います。ヘルパークラスにはすべての関数がインポートとして含まれているわけではありませんが、すべての自動化メソッドにはいつでもアクセスできます。 –