如何从一个 HWND 得到这个窗体(控件)的类型 ?如 Window, Buttom ,CheckBox我 EnumChildWindow 得到了所有控件的句柄,我现在想从这个句柄,得知这个 HWND 是什么类型 的东东
比如: Button ,CheckBox ???

解决方案 »

  1.   

    用API函数中的GetClassName()函数就可以得到当前的基本空间的api类名了。
      

  2.   

    Button   ,CheckBox 的基类都是cwnd
    你只知道hwnd怎么会知道类型呢
      

  3.   


    char buff[256];
    if(GetClassName(hwnd, buff, 256))
     {
       if(strcmp(buff, "Button") == 0)  //button.
      }
      

  4.   

    char buff[256];
    if(GetClassName(hwnd, buff, 256))
     {
       if(strcmp(buff, "Button") == 0)  //button.
      }--------------------
    如果是 Delphi 的程序,那得到的類名是 TButton,我是問有沒有統一一點的方法?
      

  5.   

    GetClassName获得的是在Windows系统中注册的窗口类名,是固定的,与程序中窗口的包装类名称不是一个概念。
      

  6.   

    GetClassName获得的是在Windows系统中注册的窗口类名,是固定的,与程序中窗口的包装类名称不是一个概念。----------------
    你用这个 API 来读一下 Delphi 写的程序你就知道了
      

  7.   

    // GetClassName
    // The GetClassName function retrieves the name of the class to which the specified window belongs. int GetClassName(
      HWND hWnd,           // handle of window
      LPTSTR lpClassName,  // address of buffer for class name
      int nMaxCount        // size of buffer, in characters
    );
      

  8.   

    这是一个 Win32 API 函数。
      

  9.   

    Window,   Buttom   ,CheckBox 
    这些控件的CLASS NAME是固定的,
    所以通过GetClassName返回的字符串一比较就知道。
      

  10.   

    Window,       Buttom       ,CheckBox   
    这些控件的CLASS   NAME是固定的, 
    所以通过GetClassName返回的字符串一比较就知道。-------------------------绝对不一样,对 Delphi 的程序就是不一样你用 Spy++ 看一下 Delphi 做的程序就知道了