Как я могу автоматически щелкнуть левой кнопкой мыши, правой кнопкой мыши и прокрутить вверх или вниз на моем рабочем столе с помощью С#
Я хочу такой метод:
public void RightMouseClick(int x, int y) { }
public void LeftMouseClick(int x, int y) { }
public void Scroll(int x, int y, int amount) { }
Вот ваш красиво написанный код
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool SetCursorPos(int x, int y);
[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern void mouse_event(int dwFlags, int dx, int dy, int dwData, int
dwExtraInfo);
private const int MOUSEEVENTF_LEFTDOWN = 0x02;
private const int MOUSEEVENTF_LEFTUP = 0x04;
private const int MOUSEEVENTF_RIGHTDOWN = 0x0008;
private const int MOUSEEVENTF_RIGHTUP = 0x0010;
private const int MOUSEEVENTF_WHEEL = 0x0800;
private static void Scroll(int Xposition, int Yposition, int amount)
{
SetCursorPos(Xposition, Yposition);
mouse_event(MOUSEEVENTF_WHEEL, Xposition, Yposition, amount, 0);
}
private static void LeftMouseClick(int Xposition, int Yposition)
{
SetCursorPos(Xposition, Yposition);
mouse_event(MOUSEEVENTF_LEFTDOWN, Xposition, Yposition, 0, 0);
mouse_event(MOUSEEVENTF_LEFTUP, Xposition, Yposition, 0, 0);
}
private static void RightMouseClick(int Xposition, int Yposition)
{
SetCursorPos(Xposition, Yposition);
mouse_event(MOUSEEVENTF_RIGHTDOWN, Xposition, Yposition, 0, 0);
mouse_event(MOUSEEVENTF_RIGHTUP, Xposition, Yposition, 0, 0);
}
приятного аппетита
@CedrocMoore это значения для разных доступных флагов. Смотрите здесь: learn.microsoft.com/en-us/windows/win32/api/winuser/… (обратите внимание, что эта функция написана на C или C++ в dll)
Хорошо, именно то, что я хотел, но у меня есть вопрос, какие именно значения присваиваются вашим константам, например «0x02 и 0x0008 и т. д.». ?