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("=");

 

posted @ 2015-12-01 17:54  Mr. Hu  阅读(528)  评论(0编辑  收藏  举报
Map