3

キーの押下とマウスのクリックをシミュレートするために InputSimulator を使用しています。マウスボタンを除いて、これまでにテストしたすべてのキーが機能します。私は次のように送ります。

private void button2_Click(object sender, EventArgs e) //In this example I am trying to simulate the left mouse button
    {
        System.Threading.Thread.Sleep(2000); 
        InputSimulator.SimulateKeyPress(VirtualKeyCode.LBUTTON);
    }

しかし、何も起こりません。私は何か悪いことをしますか?

ライブラリ: InputSimulator

4

2 に答える 2

6

InputSimulator の最新バージョンは、マウス イベントをサポートしています。使用方法は次のとおりです。

var sim = new InputSimulator();
sim.Mouse.LeftButtonClick();

バイナリ ダウンロードは古いため、ソースからライブラリをビルドする必要があることに注意してください。

于 2013-11-29T23:09:18.573 に答える
3

私はあまり知りませんが、この投稿InputStimulatorによると. を使用してマウスクリックを刺激できます。

      [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
      public static extern void mouse_event(uint dwFlags, int dx, int dy, int dwData,  int dwExtraInfo);

      private const int MOUSEEVENTF_ABSOLUTE = 0x8000;
      private const int MOUSEEVENTF_LEFTDOWN = 0x0002;
      private const int MOUSEEVENTF_LEFTUP = 0x0004;
      private const int MOUSEEVENTF_MIDDLEDOWN = 0x0020;
      private const int MOUSEEVENTF_MIDDLEUP = 0x0040;
      private const int MOUSEEVENTF_MOVE = 0x0001;
      private const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
      private const int MOUSEEVENTF_RIGHTUP = 0x0010;
      private const int MOUSEEVENTF_WHEEL = 0x0800;
      private const int MOUSEEVENTF_XDOWN = 0x0080;
      private const int MOUSEEVENTF_XUP = 0x0100;

      //.................................
      //In your own function:

      int X = 1220;
      int Y = 13;
      mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE, X, Y, 0, 0);
      mouse_event(MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);

追加することを忘れないでくださいusing System.Runtime.InteropService;

于 2013-09-20T16:47:18.357 に答える