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手册
}