Отправка нажатий клавиш к программе

В форме окна я сделал кнопку, и я пытаюсь заставить ее отправить F1 в определенное окно (Такое как FireFox, Мой Компьютер, и т.д....)

Мои вопросы:

  • Как я делаю это именем окна? (такие как "Mozilla Firefox")
  • Как я делаю это именем процесса? (такие как firefox.exe)
9
задан Oliver 30 April 2010 в 11:33
поделиться

2 ответа

По названию окна:

[DllImport("User32.dll")] 
static extern IntPtr FindWindow(string lpClassName, string lpWindowName);  
[DllImport("User32.dll")] 
static extern int SetForegroundWindow(IntPtr hWnd);

IntPtr ptrFF = FindWindow(null, "Mozilla Firefox");
SetForegroundWindow(ptrFF);
SendKeys.SendWait("{F1}");

По названию процесса:

Process proc = Process.GetProcessesByName("firefox")[0];
IntPtr ptrFF = proc.Handle;
SetForegroundWindow(ptrFF);
SendKeys.SendWait("{F1}");
14
ответ дан 4 December 2019 в 13:46
поделиться

Взгляните на класс SendKeys .

1
ответ дан 4 December 2019 в 13:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: