Мне нужно щелкнуть левой кнопкой мыши, щелкнуть правой кнопкой мыши и дважды щелкнуть по другому приложению на базе Windows через приложение С#, используя SendMessage или Post Message. Я могу найти дескриптор окна с помощью метода FindWindow(), теперь мне нужно отправить/отправить сообщение другому приложению, например, щелкнуть левой кнопкой мыши (данная позиция x, y), щелкнуть правой кнопкой мыши (данная позиция x, y) и дважды щелкнуть (передав заданный x, у позицию). Будьте добры помогите. Спасибо
Двойной щелчок по другому приложению Windows с использованием приложения С#
Ответы (1)
Вы можете использовать этот фрагмент, который я украл из здесь. Который был украден с здесь а>.
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(uint dwFlags, uint dx, uint dy, uint cButtons, uint dwExtraInfo);
//Mouse actions
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
uint X = (uint)Cursor.Position.X;
uint Y = (uint)Cursor.Position.Y;
mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
}
//...other code needed for the application
}
person
Vanilla_Chan
schedule
11.05.2020
Спасибо за ответ, но здесь дескриптор окна не используется, тогда как он будет автоматически переходить в другое приложение? Спасибо
- person mail2vguna; 12.05.2020