Выполните действие, в то время как левая кнопка - HELD C # - PullRequest
0 голосов
/ 06 декабря 2018

ПРИМЕЧАНИЕ: я совершенно новичок в этом, поэтому, если я делаю глупые ошибки, я прошу прощения, я учусь!: D

Таким образом, в основном я хочу выполнить действие, пока левая кнопка мыши удерживается, в моем случае я бы хотел, чтобы программа выполняла щелчок левой кнопкой мыши, хотя это верно.Я сделал следующее:

  [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = 
  CallingConvention.StdCall)]

  public static extern void mouse_event(int dwFlags, int dx, int dy, int 
  cButtons, int dwExtraInfo);

  private const int MOUSEEVENTF_LEFTDOWN = 0x0002;
  private const int MOUSEEVENTF_LEFTUP = 0x0004;

  bool isDown = false;

  private void mouseMoveEventHandler(object sender, MouseEventArgs e)
  {
        if (e.Button == MouseButtons.Left)
        {
            isDown = true;
        }
        else
        {
            isDown = false;
        }
    }
    //send click
    public void send()
    {
        while (isDown == true){
            int dly = 100;
            txtDly.Text = dly.ToString();
            mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
            System.Threading.Thread.Sleep(dly);
            mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
        }
    }

Это в настоящее время не работает для меня, а также происходит ли событие щелчка, только когда я нахожусь в форме?Или он выполнит щелчок где-нибудь на моем компьютере?

Спасибо за любую помощь и извините, если это глупый вопрос.

...