取任务栏的窗体列表

typedef  struct  _TASKBARPARAM
{
    LPARAM            lParam;
    WNDENUMPROC        UserProc;
}TASKBARPARAM;

BOOL CALLBACK EnumTaskBarWindowsProc(
                              HWND hwnd,      
//  handle to parent window
                              LPARAM lParam    //  application-defined value
                              )
{
    TASKBARPARAM        
*  pParam;
    HWND                hOwerWnd;
    WCHAR                szWndText[
1024 ];
    
int                     nRetVal;
    pParam 
=  (TASKBARPARAM  * )lParam;

    
if ( 0   !=  GetWindow(hwnd, GW_OWNER))
        
return  TRUE;

    
if (FALSE  ==  IsWindowVisible(hwnd))
        
return  TRUE;

    szWndText[
0 =   0 ;
    nRetVal 
=  InternalGetWindowText(hwnd, szWndText,  1023 );
    
if (nRetVal  ==   0   ||  szWndText[ 0 ==   0 )
        
return  TRUE;

    
if (wcsicmp(L " Program Manager " , szWndText)  ==   0 )
        
return  TRUE;

    
return  pParam -> UserProc(hwnd, pParam -> lParam);
}


BOOL NWindow::EnumTaskBarWindows(WNDENUMPROC lpEnumFunc, LPARAM lParam)
{
    TASKBARPARAM    TaskBarParam;
    TaskBarParam.lParam 
=  lParam;
    TaskBarParam.UserProc 
=  lpEnumFunc;
    
return  EnumWindows(EnumTaskBarWindowsProc, (LPARAM) & TaskBarParam);
}



使用方法:
BOOL CALLBACK EnumWindowsProc(
                              HWND hwnd,      
//  handle to parent window
                              LPARAM lParam    //  application-defined value
                              )
{
    _bstr_t        
* pbStrText;
    pbStrText 
=  (_bstr_t  * )lParam;

    TCHAR        szText[
1024 ];
    GetWindowText(hwnd, szText, 
sizeof (szText) / sizeof (TCHAR));
    
* pbStrText  +=  szText;
    
* pbStrText  +=   " " ;

    
return  TRUE;
}

void  CstdDlg::OnBnClickedButton39()
{
    _bstr_t        bStrText;
    bStrText 
=   "" ;
    NWindow::EnumTaskBarWindows(EnumWindowsProc, (LPARAM)
& bStrText);
    Msg((CHAR 
* )bStrText);

}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值