• 【Demo 0026】读取窗体类信息


    在上一节中我们练习了注册一个类,并通用此类实例化一个对象。 今天我们反过来学, 对于己实例化的窗体如何读取自身的注册信息,Window 同样提供了对应的方法。

    (一) 函数声明

        int GetClassName(HWND hWnd, LPTSTR lpClassName, int nMaxCount );

         获取实例窗体类名    

         BOOL GetClassInfoEx(HINSTANCE hinst, LPCTSTR lpszClass, LPWNDCLASSEX lpwcx );

         获取进程中指定类信息

         BOOL GetClassInfo(HINSTANCE hInstance, LPCTSTR lpClassName, LPWNDCLASS lpWndClass );

         获取进程中指定类信息(与GetClassInfoEx不同之处在于WNDCLASSEX返回值多了icomsm值)

       

        这几个函数比较简单

        Code:  本例演示读取窗体的类名以及根据类名提取其他类信息

    WNDCLASSEX wcx    = {0};
    wcx.cbSize        = sizeof(wcx);
    TCHAR szClassName[256]    = {0};
    GetClassName(hWnd, szClassName, 256);
    if (GetClassInfoEx(GetModuleHandle(NULL), szClassName, &wcx))
    {
        TCHAR szClassInfo[1024];
        _stprintf(szClassInfo,
                  _T("ClassName:        %s\n")
                  _T("Style:            %d\n")
                  _T("class Extra:        %d\n")
                  _T("Wnd Extra:        %d\n")    
                  _T("Cursor:            0X%X\n")
                  _T("Icon:            %X\n")
                  _T("Background:        0X%0X\n")
                  _T("MenuName:        %s\n")
                  _T("Instance:        0X%X\n")
                  _T("WndProc:        0X%06X\n"),
                  wcx.lpszClassName,
                  wcx.style,
                  wcx.cbClsExtra,
                  wcx.cbWndExtra,
                  wcx.hCursor,
                  wcx.hIcon,
                  wcx.hbrBackground,
                  wcx.lpszMenuName,
                  wcx.hInstance,
                  wcx.lpfnWndProc);
        SetWindowText(GetDlgItem(hWnd, ID_LABINFO), szClassInfo);
        OutputDebugString(szClassInfo);
    }

    (二) 特别声明

       GetClassInfoEx 以及 GetClassInfo 在读取其他进行的窗体类信息会失败(在后面章节中我们再讲述)

    演示代码

  • 相关阅读:
    OAuth客户端调用
    OAuth中client id的处理
    Task作为返回值以及Task<TResult>作为返回值
    Netscaler立身之本—NAT
    Citrix Netscaler负载均衡算法
    Netscaler重置密码的方法
    Netscaler的超高端口复用助力应对公网地址紧张
    Netscaler工作流程
    深入理解Netscaler INat
    Citrix Netscaler版本管理和选择
  • 原文地址:https://www.cnblogs.com/ztercel/p/2141653.html
Copyright © 2020-2023  润新知