概要:
ゲームやその他のアプリと連携するタッチ アプリケーションを作成します。この概念は、touch-buddy.comにあるアプリと似ていますが、Perl でアプリケーションを作成する代わりに、C# と WPF を使用します。
評価したい課題がいくつかあります。touch-buddy アプリは、ゲームを操作する際に 2 つのアプローチを使用します。
- クライアントモード (同じマシンでゲームとタッチバディの両方を実行)。
- 別のボックスがゲーム機にコマンドを送信するサーバー/クライアント モード。
私がこの方法を採用した理由は、ゲームの最小化に関する問題を回避するためでした。
クライアントのみのモードで、ゲームが表示されているメイン画面以外の画面をタッチすると、ゲームが最小化されるという問題に直面しています。すべてのゲームがこの動作をするわけではありませんが、最小化して防止するゲームを征服したいと思います.
ゲームを前面と中央に集中させ、C# WndProc(ref Message m) を使用して最小化を防ぐことは可能ですか?
Win フォームを作成したWndProc (ref Message m)を試してみました。自分の Win フォームで最小化を押すと、メモ帳のインスタンスが閉じます。これは、メッセージをキャプチャし、そのメッセージがバブルアップするのを防ぎ、メッセージを別のアプリケーションに送信できることを証明しています。次に、タッチスクリーンでメモ帳をクリックして、勝利フォームアプリケーションをフォーカスしたままにし、最小化しないようにしました。この時点で私は失敗しています。メッセージコードを理解するのにもっと時間が必要です。
これは正しいアプローチですか?それはできますか?Windows Automation などの他のライブラリを検討する必要がありますか?
キー入力は、私のもう 1 つの関心事です。キーストロークを他のアプリ/ゲームに送信する最良の方法は何ですか? DirectX を利用して、ある種の送信キー、Automation Framework を使用する必要がありますか? 一部のシミュレーション ゲームで必要となる複数のキー ストロークを処理できるものはありますか?
リンクや洞察をいただければ幸いです。何らかの理由でこの道を進んだ場合は、コメントをお待ちしております。
スタン