Нажатие клавиши в другом приложении - C#
Формулировка задачи:
Суть в том, что мне нужно нажать кнопку "F" в другом приложении. Я знаю его позицию и выделяю это приложение с помощью:
А вот дальше начинаются проблемы.
Листинг программы
- Cursor.Position = new Point(600, 500);
- mouse_event(LEFTDOWN | LEFTUP, 0, 0, 0, IntPtr.Zero);
SendKeys.SendWait("F")
и дажеmouse_event
в самом приложении не работают. Как быть?Решение задачи: «Нажатие клавиши в другом приложении»
textual
Листинг программы
- 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()
- {
- int X = Cursor.Position.X;
- int Y = Cursor.Position.Y;
- mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д