2010-04-30 14 views
9

In Fenstern Form habe ich einen Knopf, und ich versuche, es F1 zu einem bestimmten Fenster (wie FireFox, Arbeitsplatz, etc ...)Senden Tastatureingaben an ein Programm

senden zu machen Meine Fragen sind:

  • Wie mache ich es durch den Namen des Fensters? (wie "Mozilla Firefox")
  • Wie mache ich es mit dem Namen des Prozesses? (z. B. firefox.exe)

Antwort

14

von Fenstername:

[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}"); 

von Prozessname:

Process proc = Process.GetProcessesByName("firefox")[0]; 
IntPtr ptrFF = proc.Handle; 
SetForegroundWindow(ptrFF); 
SendKeys.SendWait("{F1}"); 
+0

und durch Prozessnamen? –

+0

@Or Betzalel - Aktualisiert mit Prozessname. –

+0

Danke, habe es herausgefunden –

Verwandte Themen