5

マウスを上に動かし続ける小さなプログラムを作成するにはどうすればよいですか?


知りたい人にとっては、ttは小さな1回限りのことです。私はスターウォーズザフォースアンリーシュドをプレイしています。コンソールバージョンでは、右スティックを上向きに保持します。PCの不良コンソールポートで、マウスを使用しています。多分あなたは私の欲求不満を理解することができます。

4

3 に答える 3

18

これは、CSharpではなく、機械プログラミングの問題です。

  • 2つ目のマウスを接続して、安価な可変速コード付きドリルを入手する必要があります。
  • ドリルにサンディングドラムを置き、縞模様の紙で包み、最低速度に設定します。
  • 次に、回転していないドリルの本体にブラケットを置き、センサーを回転している縞模様の紙に近づけてマウスを保持します。
  • 上向きの動きをシミュレートするために、マウスが正しい方向を向いていることを確認します。

プログラムを実行するには、ドリルが接続されている電源タップの電源スイッチを切り替えます。

編集:よりポータブルなコードが必要な場合は、コードレスドリルを使用してください。バッテリーは含まれていません。

于 2009-12-22T23:00:19.133 に答える
16

SetCursorPosアンマネージコードでこれを行います。同じことを行うための.NETメソッドがあるかどうかはわかりませんが、いつでもcom相互運用機能を使用できます。User32.dllにあります

[DllImport("user32.dll")]
static extern bool SetCursorPos(int X, int Y);

小さなグーグルはこれを.netと同等のSetCursorPosとして生成します

System.Windows.Form.Cursor.Position
于 2009-12-22T22:38:33.903 に答える
3

ゲームはわかりませんが、内部的にウィンドウがマウス移動のメッ​​セージを送信します。これらは、SendMessage()API呼び出しによってアプリケーションに送信されます。C#では、同じWin32 APIを直接使用する必要がありますか、それともイベントを作成/送信する必要がありますか?ただし、実行中の別のアプリケーションにイベントを送信する方法がわかりません。

C#で定義されたSendMessage()Win32 API呼び出しは、次のようになります。

[DllImport("user32.dll")]
        public static extern int SendMessage(
              int hWnd,     // handle to destination window
              uint Msg,     // message
              long wParam,  // first message parameter
              long lParam   // second message parameter
              );
于 2009-12-22T22:32:33.900 に答える