如题, ,我用findwindow找到了父窗体的句柄,但是无法遍历出子窗体的句柄。网上找了很多例子,很乱看的不清晰,谁有例子上个看看,或者指点下思路也可以,谢谢

解决方案 »

  1.   

    根据screen.FormCount遍历 screen.Forms[i].Owner 是否父窗 并 本身是否是窗口, 都符合就是了.
      

  2.   

    function EnumChildWindowsProc(hWnd:HWND;lparam:LPARAM):Boolean;stdcall;
    var
      ssText:PChar;
    begin
      GetMem(ssText,255);
      ZeroMemory(ssText,255);
      GetWindowText(hWnd,ssText,255);
      if Trim(StrPas(sstext)) <> '' then
        Form1.mmo1.Lines.Add(ssText);
      result:=True;
    end;
    //------------------------------------------------------------------------------procedure TForm1.btn1Click(Sender: TObject);
    var
      w_hWnd:THandle;
    begin
      w_hWnd:=FindWindow(nil,'ÄãµÄ´°¿Ú');
      EnumChildWindows(w_hWnd,@EnumChildWindowsProc,0);
    end;
      

  3.   

    EnumChildWindows

    GetWindow有事找MSDN