C# FindWindow SendMessage

 导入命名空间

using System.Runtime.InteropServices;

添加代码

[DllImport ( "user32.dll", EntryPoint = "FindWindow", SetLastError = true )]
private static extern IntPtr FindWindow( string lpClassName, string lpWindowName );

[DllImport ( "user32.dll", EntryPoint = "FindWindowEx", SetLastError = true )]
private static extern IntPtr FindWindowEx( IntPtr hwndParent, uint hwndChildAfter, string lpszClass, string lpszWindow );

[DllImport ( "user32.dll", EntryPoint = "SendMessage", SetLastError = true, CharSet = CharSet.Auto )]
private static extern int SendMessage( IntPtr hwnd, uint wMsg, int wParam, int lParam );

[DllImport ( "user32.dll", EntryPoint = "SetForegroundWindow", SetLastError = true )]
private static extern void SetForegroundWindow( IntPtr hwnd );
IntPtr hwndCalc = FindWindow(null, "窗体标题"); //查找计算器的句柄
if (hwndCalc != IntPtr.Zero)
{
IntPtr hwndThree = FindWindowEx(hwndCalc, 0, null, "确定"); //获取按钮的句柄
SendMessage(hwndThree, 0xF5, 0, 0); //鼠标点击的消息,对于各种消息的数值,大家还是得去API手册
}



posted @ 2012-01-11 22:08  hanhualangzi  阅读(4829)  评论(0编辑  收藏  举报