Как вручную вызвать событие, указав параметры X, Y и Windowhandle? - PullRequest
0 голосов
/ 06 февраля 2009

Мы работаем над модулем, в котором я дал xpos, ypos, windowhandle. Теперь я хочу вызвать событие для соответствующего ввода на (xpos, ypos, windowhandle).

Например:

Ввод данных для выбора файла означает, что он будет выбирать файл автоматически через мой модуль.

00010086 PWM_LBUTTONDBCLK fwKeys:MK_LBUTTON xPos:273yPos:354

Событие будет выглядеть так, как указано выше.

1 Ответ

2 голосов
/ 06 февраля 2009

Псевдокод .. Вы можете изменить в соответствии с вашими потребностями ...

using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

public class Form1 : Form
{
   [DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
   public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long 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 Form1()
   {
   }

   public void DoMouseClick()
   {
      //Call the imported function with the cursor's current position
      mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
   }

  //...other code needed for the application
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...