3

私がやろうとしているプログラムは、Windows フォームでキーボードを使用してオペレーティング システムのマウス イベントをシミュレートすることです。現在、カーソルを変更して、フォーム内でマウスをクリックするなどのさまざまなアクションを実行できます (フォームが上部にある場合)。

問題は、それをオペレーティング システム全体に拡張したいということです。つまり、Windows フォームが一番上になくても、カーソルを制御して、フォームが他のアプリケーションであらゆる種類のマウス イベントを実行できます。ランニング。これを実装するにはどうすればよいですか?

4

2 に答える 2

1

グローバル システム フックを使用してすべてのマウス イベントとキーボード イベントを検出する.NETのこのライブラリ Global System Hooks を見てみることをお勧めします。

于 2012-10-09T10:16:20.047 に答える
0

SendInput()Win32 APIを使用して、OS 全体のキーストローク、マウス モーション、およびボタン クリックを合成できます。P/Invokeを使用して C# から呼び出すことができます。サンプル コードは、PInvoke.net の SendInput にあります。

SendInput (およびスクリーンショット API) を使用して C# (おそらく 2.0) でマインスイーパ ボットを作成した日のことを思い出します。エキスパートのパズルを約 1 秒で解くことができます。ここでサンプルするソース コードがまだあればいいのですが、ありません。

編集:SendInput()誰かが: CodePlex の Windows 入力シミュレーター用の素敵な .NET ワーパーを既に作成しているようです。

于 2012-10-09T10:19:19.207 に答える