C#获取窗口,模拟按键操作
C#获取窗口,模拟按键操作,实现计算器模拟操作。
首先引用。
using System.Runtime.InteropServices;
使用DllImport引入两个函数:
// Get a handle to an application window. [DllImport("USER32.DLL", CharSet = CharSet.Unicode)] public static extern IntPtr FindWindow(string lpClassName, string lpWindowName); // Activate an application window. [DllImport("USER32.DLL")] public static extern bool SetForegroundWindow(IntPtr hWnd);
然后首先使用FindWindow函数获取到需要按键的窗口句柄,以计算器为例。
//FindWindow 参数一是进程名 参数2是 标题名 IntPtr calculatorHandle = FindWindow(null, "计算器"); //判断是否找到 if (calculatorHandle == IntPtr.Zero) { MessageBox.Show("没有找到!"); return; } // 然后使用SetForegroundWindow函数将这个窗口调到最前。 SetForegroundWindow(calculatorHandle); //发送按键 SendKeys.SendWait("2"); SendKeys.SendWait("*"); SendKeys.SendWait("11"); SendKeys.SendWait("=");