枚举窗口的两种方法

  1. 方法一:
  2. void CFindWindow1113Dlg::OnButton4() 
  3. {
  4.   HWND hwnd = ::FindWindow("窗口类型""窗口名称");
  5.   if ( hwnd )
  6.   {
  7.      HWND hBtnEnum = ::FindWindowEx(hwnd,0, "Button""EnumWindows");
  8.      if ( hBtnEnum )
  9.      {
  10.         ::EnableWindow(hBtnEnum, TRUE);
  11.      }
  12.   }
  13. )
  14. 方法二:
  15. EnumWindows();
  16. BOOL CALLBACK EnumChildProc(
  17.   HWND hwnd,      // handle to child window
  18.   LPARAM lParam   // application-defined value
  19. )
  20. {
  21.   CString Cshwnd;
  22.   Cshwnd.Format(_T("0x%0x"),hwnd);
  23.   if ( hwnd ==(HWND)0x000606FC)
  24.   {
  25.     AfxMessageBox("sdf");
  26.   }
  27.   TRACE("SubWindow: " + Cshwnd + "/n");
  28.   return TRUE;
  29. }
  30. BOOL CALLBACK EnumWindowsProc(
  31.   HWND hwnd,      // handle to parent window
  32.   LPARAM lParam   // application-defined value
  33. )
  34. {
  35.   CString Cshwnd;
  36.   Cshwnd.Format(_T("0x%0x"),hwnd);
  37.   TRACE(Cshwnd + "/n");
  38.   if ( hwnd ==(HWND)0x001506A6)
  39.   {
  40.     AfxMessageBox("aaa");
  41.   }
  42.   EnumChildWindows(hwnd,EnumChildProc,NULL);
  43.   return TRUE;
  44. }
  45. void CFindWindow1113Dlg::OnButton2() 
  46. {
  47.     // TODO: Add your control notification handler code here
  48.     EnumWindows(EnumWindowsProc, NULL);
  49. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值