+ -
当前位置:首页 → 问答吧 → GetWindowText怎么是数字

GetWindowText怎么是数字

时间:2011-12-27

来源:互联网

GetWindowText怎么全是160 39 一类的数字
GetClassName获得也是 160 39 一类的数字

C/C++ code

CWinApp theApp;

using namespace std;
CArray<HWND> hWndArray;

BOOL CALLBACK EnumWindowsProc(HWND hWnd,LPARAM lParam){
    
    
    //WCHAR *tit=new WCHAR[200];
    LPWSTR tit=new WCHAR[200];
    
    if(GetClassName(hWnd,tit,200)!=0){
        cout<<*tit<<"\t";
    }
    if(GetWindowTextLength(hWnd)>0){
        if(GetWindowText(hWnd,tit,200)!=0){
            cout<<*tit<<"\t";
        }
    }
    //delete[] tit;
    hWndArray.Add(hWnd);
    return true;
}
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
    int nRetCode = 0;

    // 初始化 MFC 并在失败时显示错误
    if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
    {
        // TODO: 更改错误代码以符合您的需要
        _tprintf(_T("错误: MFC 初始化失败\n"));
        nRetCode = 1;
    }
    else
    {
        hWndArray.RemoveAll();
        EnumWindows(EnumWindowsProc,(LPARAM)0);
        cout<<hWndArray.GetCount()<<endl;
    }
    for(int i=0;i<hWndArray.GetSize();i++){
        HWND hWnd=hWndArray.GetAt(i);
        if(hWnd!=NULL){
            //LPWSTR tit=L"";
            /*WCHAR *tit=new WCHAR[200];
            GetClassName(hWnd,tit,200);
            cout<<*tit<<"\t";
            delete[] tit;*/
            //ShowWindow(hWnd,SW_SHOW);
        }
    }
    getchar();
    return nRetCode;
}

作者: hanhengbo   发布时间: 2011-12-27

怎么没有人回答,自己顶一下。

作者: hanhengbo   发布时间: 2011-12-28

wcout<<tit

作者: Lactoferrin   发布时间: 2011-12-28

因为是宽字符,所以用wcout才行。另外tit前不能加*

作者: wltg2001   发布时间: 2011-12-28