本帖最后由 zshsuming 于 2010-08-14 14:34:07 编辑

解决方案 »

  1.   

    function   EnumChildWindowsProc(hwnd:   Integer;   lparam:   Longint):   Boolean;   stdcall; 
    var 
    buffer:   array[0..255]   of   char; 
    begin 
    Result   :=   True; 
    GetClassName(hwnd,buffer,256); 
    if   StrPas(Buffer)= 'Edit '   then 
    begin 
    SendMessage(hwnd,WM_GETTEXT,256,lparam); 
    Result:=False; 
    end; 
    end; 
    //SendMessage+WM_GETTEXT 
    procedure   TForm1.Button1Click(Sender:   TObject); 
    var 
    hwnd:   Integer; 
    buffer:   array[0..255]   of   char; 
    begin 
    hwnd   :=   FindWindow( 'CabinetWClass ',nil); 
    if   hwnd <   >   0   then 
    begin 
    EnumChildWindows(hwnd,@EnumChildWindowsProc,Integer(@buffer[0])); 
    Caption   :=   StrPas(buffer); 
    end; 
    end; 
      

  2.   

    //------------------------------------------------------------------------------function EnumChildWindowsProc(hWnd:HWND;lparam:LPARAM):Boolean;stdcall;
    var
      ssText:array[0..254] of Char;
      id:Integer;
    begin
      GetWindowText(hWnd,ssText,255);
      id:=GetDlgCtrlID(hWnd);
      if Trim(StrPas(sstext)) <> '' then
        Form1.lst1.Items.Add('  ------>' + ssText + '---->' + IntToDigit(id,16,0));
      result:=True;
    end;
    //------------------------------------------------------------------------------function EnumwindowsProc(hWnd:HWND;lparam:LPARAM):Boolean;stdcall;
    var
      sText:array[0..254] of Char;
      id:Integer;
    begin
      GetWindowText(hWnd,sText,255);
      id:=GetDlgCtrlID(hWnd);
      if Trim(StrPas(sText)) <> '' then
      begin
        Form1.lst1.Items.Add(Trim(StrPas(sText)) + '---->' + IntToStr(id));;
        EnumChildWindows(hWnd,@EnumChildWindowsProc,0);
      end;
      result:=True;
    end;
    //------------------------------------------------------------------------------
    procedure TForm1.btn1Click(Sender: TObject);
    begin
      lst1.Clear;
      EnumWindows(@EnumwindowsProc,0);
    end;
      

  3.   

    放在类中的函数,那是
    function xxxxx.....   ; of object;
      

  4.   

    EnumChildWindowsProc不能作为实例中的方法