Нажатие клавиши в другом приложении - C#

Узнай цену своей работы

Формулировка задачи:

Суть в том, что мне нужно нажать кнопку "F" в другом приложении. Я знаю его позицию и выделяю это приложение с помощью:
Листинг программы
  1. Cursor.Position = new Point(600, 500);
  2. mouse_event(LEFTDOWN | LEFTUP, 0, 0, 0, IntPtr.Zero);
А вот дальше начинаются проблемы.

SendKeys.SendWait("F")

и даже

mouse_event

в самом приложении не работают. Как быть?

Решение задачи: «Нажатие клавиши в другом приложении»

textual
Листинг программы
  1. using System;
  2. using System.Windows.Forms;
  3. using System.Runtime.InteropServices;
  4. public class Form1 : Form
  5. {
  6.    [DllImport("user32.dll",CharSet=CharSet.Auto, CallingConvention=CallingConvention.StdCall)]
  7.    public static extern void mouse_event(long dwFlags, long dx, long dy, long cButtons, long dwExtraInfo);
  8.    private const int MOUSEEVENTF_LEFTDOWN = 0x02;
  9.    private const int MOUSEEVENTF_LEFTUP = 0x04;
  10.    private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
  11.    private const int MOUSEEVENTF_RIGHTUP = 0x10;
  12.    public Form1()   {   }
  13.    public void DoMouseClick()
  14.    {
  15.       int X = Cursor.Position.X;
  16.       int Y = Cursor.Position.Y;
  17.       mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, X, Y, 0, 0);
  18.    }
  19.  }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы