安然不哭-西坝阿超个人博客

做技术一定要一颗恒心,这样才不会半途而废。

c# 根据句柄查找控件

2018-3-30 钟建超

引入命名空间

using System.Runtime.InteropServices;  

声明api
[DllImport("user32.dll", EntryPoint = "FindWindow")]  
private static extern IntPtr FindWindowEx( IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow ) 
代码 

const int BM_CLICK = 0xF5;  
IntPtr maindHwnd = FindWindow(null, "QQ用户登录"); //获得QQ登陆框的句柄  
if (maindHwnd != IntPtr.Zero)  
{  
   IntPtr childHwnd = FindWindowEx(maindHwnd, IntPtr.Zero, null, "登录");   //获得按钮的句柄  
   if (childHwnd != IntPtr.Zero)  
   {  
       SendMessage(childHwnd, BM_CLICK, 0, 0);     //发送点击按钮的消息  
   }  
   else  
   {  
       MessageBox.Show("没有找到子窗口");  
   }  
}  
else  
{  
   MessageBox.Show("没有找到窗口");  
}  

标签: c#