0

たとえば、Wを押したときにマウスの左クリックを使用して実行するアクションを実行する必要があります。

クルーズをフォルダに移動してからwを押してフォルダを開きたい

クルーズをファイルに移動し、w を押してドラッグし、w を離したときにドロップしたい

私はwindowsFromを使用して実行しようとしましたが、もちろん、関数がフォーム内で呼び出され、必要なのはシステムの動作であることを意味します.VS2010でwindows 7 64を使用していますがonKeyPress()、それはすべてのウィンドウに対してグローバルなものですonMouseDown()onMouseDown()

助けてくれてありがとう、、、

4

2 に答える 2

2

外部アプリケーションで Key Down イベントをキャプチャするために必要な最初のステップは、グローバル ホットキーを定義することです。

グローバル ホットキーに関するこの質問に対する回答のいくつかを確認することをお勧めします: c# でグローバル ホットキー処理に取り組むための最良の方法は? またはこの CodeProject の記事: A Simple C# Global Low Level Keyboard Hook

次に、M. バブコックが言ったように、マウスダウン イベントを送信する必要があります。彼がコメントで提供したリンクは良いものです。完全を期すためにここで繰り返します。

C#でマウスクリックをシミュレートするには?

実際にキーボード入力を送信する必要がある場合は、私が提唱した (そして過去に使用した) InputSimulatorを使用できます。これは、キーボード イベントをシミュレートできる非常に柔軟な (そして信頼できる) ラッパーを提供します。

SendInput を内部でラップしますが、すべての PInvoke 呼び出しとその他の複雑さを抽象化します。

InputSimulator.SimulateKeyDown(VirtualKeyCode.CTRL);
InputSimulator.SimulateKeyPress(VirtualKeyCode.KEYS_V);
InputSimulator.SimulateKeyUp(VirtualKeyCode.CTRL);

また

InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_C); 
于 2012-02-11T17:03:31.647 に答える
0

クリックにはブール値フラグを使用し、ホットキーをクリックまたは押して両方に設定します。たとえば、このフラグはフォーム内で宣言する必要があり、KeyDown および MouseDown イベントはフラグを true に設定し、KeyUp および MouseUp は false に設定します。すべてのアクションで、このフラグを使用してクリックを確認します。(Windows アプリで動作するかどうかは不明ですが、XNA では正常に動作します)。クラス外で使用するには、このフラグをパブリック プロパティとして設定するだけです。

于 2012-02-11T16:32:52.023 に答える