本帖最后由 baiylhnh 于 2013-01-19 21:03:07 编辑

解决方案 »

  1.   

    你的代码的作用是将所有类名为WordPadClass的窗口的标题列出来。1.buf: array[byte] of char;//为什么要用数组?而且还是char.char不是只能放一个字符么,为什么不用字符串
    getclassname(h, buf, length(buf)); 第二个传进去的是一个指针,所以要用Char数组或者PChar;
    2.h := getwindow(handle, gw_hwndfirst);  //他获取的是第一个获取到的窗口?返回的是第一个窗口的句柄?
    这里获取的是同Z级的第一个窗口句柄;3.h := getwindow(h, gw_hwndnext);    
     //为什么要加这句.为什么第一个参数是H?与第一个getwindow有什么联系
    这里是取H的下个同Z级窗口句柄
    参考下GetWindow的用法:http://www.xuedelphi.cn/article/html2010/2009011719595067.html
    //声明:
    GetWindow(
      hWnd: HWND; {指定的窗口句柄}
      uCmd: UINT  {指定的关系选项}
    ): HWND;      {失败返回0; 成功返回符合的窗口句柄}//uCmd 可选值:
    GW_HWNDFIRST = 0; {同级别 Z 序最上}
    GW_HWNDLAST  = 1; {同级别 Z 序最下}
    GW_HWNDNEXT  = 2; {同级别 Z 序之下}
    GW_HWNDPREV  = 3; {同级别 Z 序之上}
    GW_OWNER     = 4; {属主窗口}
    GW_CHILD     = 5; {子窗口中的最上}
    [本文来自: 学Delphi网(http://www.xuedelphi.com/) ]详细出处参考:http://www.xuedelphi.cn/article/html2010/2009011719595067.html