Как отправить чужому окну нажатие клавиши - C#

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

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

Здравствуйте. Требуется сабж. Сразу скажу, что sendkeys.send() работает не со всеми окнами (по непонятной причине). Отлично справляется с задачей функция send в AutoIt. Хотелось бы понять, как она реализована. Ну и реализовать ее на C#

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

textual
Листинг программы
public enum WMessages : int
{
    WM_LBUTTONDOWN = 0x201,
    WM_LBUTTONUP = 0x202
}
 
[DllImport("user32.dll", SetLastError = true)]
public static extern bool PostMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
 
public void Click(IntPtr hWnd, Point p)
{
    int lp = (p.X << 16) | (p.Y & 0xffff);
    PostMessage(hWnd, (uint)WMessages.WM_LBUTTONDOWN, 0, lp);
    PostMessage(hWnd, (uint)WMessages.WM_LBUTTONUP, 0, lp);
}

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


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

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

8   голосов , оценка 3.625 из 5
Похожие ответы