1

マウスボタンを押したかのようにコンピューターを動作させる Windows フォーム プログラムを作成しようとしています。イベントを手動で制御したい (タイミングは事前に決定されていない) ため、マウス ボタンのリリースは別のイベントにする必要があります。

次の情報はコードを変更するものではありません。状況をさらに理解するのに役立ちます。

  • 目的は、Xbox 360 コントローラー (PC と互換性がある) からのユーザー入力が、接続されているコンピューターを操縦/制御できるようにすることです。
  • これまでに見つけた最善の解決策は "Windows.Forms.SendKeys" メソッドですが、これはキーボード イベントに対してのみ機能します。

前もって感謝します!:D

4

1 に答える 1

3

このようなマウスイベントをシミュレートします

    [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
    public static extern void mouse_event(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
    private const int MOUSEEVENTF_LEFTDOWN = 0x02;
    private const int MOUSEEVENTF_LEFTUP = 0x04;
    private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
    private const int MOUSEEVENTF_RIGHTUP = 0x10;

使用例:

    public static void leftClick()
    {
        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    }
于 2013-05-02T12:59:10.693 に答える