小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

獲得桌面所有窗口句柄的方法總結(jié)

 @IT小小鳥(niǎo)@ 2012-02-17
第一種方法:
  1.先獲得桌面窗口
  CWnd* pDesktopWnd = CWnd::GetDesktopWindow();
  2.獲得一個(gè)子窗口
  CWnd* pWnd = pDesktopWnd->GetWindow(GW_CHILD);
  3.循環(huán)取得桌面下的所有子窗口
  while(pWnd != NULL)
  {
      //獲得窗口類名
      CString strClassName = _T("");//應(yīng)該用TCHAR,用CStrting沒(méi)有測(cè)試通過(guò).
      ::GetClassName(pWnd->GetSafeHwnd(),strClassName.GetBuffer(256),256);
      //獲得窗口標(biāo)題
      CString strWindowText = _T("");
      ::GetWindowText(pWnd->GetSafeHwnd(),strWindowText.GetBuffer(256),256);
      //繼續(xù)下一個(gè)子窗口
      pWnd = pWnd->GetWindow(GW_HWNDNEXT);
   }
 
第二種方法:
    1.定義存放窗口句柄變量,和下標(biāo)計(jì)數(shù)器
      HWND m_hWndFind[1000]; int m_Index;
    2.先寫(xiě)一個(gè)BOOL CALLBACK EnumWndProc(HWND hwnd,LPARAM lParam) 的回調(diào)函數(shù).
    BOOL  CAllwindowsDlg::EnumWindowsProc(HWND hWnd, LPARAM lParam)
    {
      //查找可見(jiàn)的窗口
      if(::GetWindowLong(hWnd,GWL_STYLE)& WS_VISIBLE)
      {
        m_hwndFind[m_Index] = hWnd;//record the HWND handle into array
        m_Index++;//count start
       }
       return 1;
     }
     3.調(diào)用(這個(gè)回調(diào)函數(shù)回自動(dòng)遞歸的便利所有可見(jiàn)窗口,直到完畢)
     ::EnumWindows(CAllwindowsDlg::EnumWindowsProc,NULL);
     4.取得窗口名稱和類名
     for(int i = 0;i <=m_Index;i++)
     {
        HWND m_wnd = m_hwndFind[i];
        ::GetWindowText(m_wnd,m_store,128);
        ::GetClassName(m_wnd,m_strClass,MAX_PATH-1);
        //獲得窗口類名
        CString strClassName = _T("");
        ::GetClassName(m_wnd,strClassName.GetBuffer(256),256);
        //獲得窗口標(biāo)題
        CString strWindowText = _T("");
        ::GetWindowText(m_wnd,strWindowText.GetBuffer(256),256);
     }

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多