質問

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


知りたい人のために言っておきますが、これは使い捨ての小さなものです。スター・ウォーズ ザ・フォース・アンリーシュドをプレイしています。コンソール版では、右スティックを上に押し続けます。の中に 悪い PC のコンソール ポートでは、マウスを使用しています。私のイライラを理解していただけるかもしれません。

役に立ちましたか?

解決

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

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

少しGoogleは SetCursorPosとしてこれを生成します.NET

の等価
System.Windows.Form.Cursor.Position

他のヒント

これは機械的プログラミングの問題であり、CSharp の問題ではありません。

  • 2枚目のマウスを接続し、安価な可変速度コードドリルを取得する必要があります。
  • ドリルにサンディングドラムを置き、ストライプ紙で包み、最低速度に設定します。
  • 次に、ドリルの非回転ボディにブラケットを置き、センサーを回転する縞模様の紙の近くにマウスを保持します。
  • マウスがUPの動きをシミュレートする正しい方法に直面していることを確認してください。

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

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

私はゲームを知らないが、内部のウィンドウはマウスの移動のためのメッセージを送信します。これらは、アプリケーションへの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
              );

あなたはコントローラーやジョイスティックを使用してみましたか。

http://www.merconnet.com/product_info.php?products_id=44

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top