我想用一个程序得到打开的一个ie窗口(这个ie窗口包含框架)
而我所取的那个某本框在某一个框架当中,如何取最好有例子,我已经可以取一个不包含框架的文本框了

解决方案 »

  1.   

    to Eastunfail(浴血雏龙)==(恶鱼杀手)比如一个文本框或一个按钮
      

  2.   

      
    :(
    今天用IHtmlDocument2和IHTMLElement都试了一下,老是得不到正确的结果
      

  3.   

    type
        TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;function GetIEFromHWND(hWnd: HWND; var IE: IWebbrowser2): HRESULT;
    var
    hInst: THandle;
    lRes: Cardinal;
    MSG: Integer;
    pDoc: IHTMLDocument2;
    ObjectFromLresult: TObjectFromLresult;
    begin
        result:=S_OK;
        if (hWnd<=0) then
            exit;
    hInst := LoadLibrary('Oleacc.dll');
        if (hInst>0) then
        try
            @ObjectFromLresult := GetProcAddress(hInst, 'ObjectFromLresult');
            MSG := RegisterWindowMessage('WM_HTML_GETOBJECT');
            SendMessageTimeOut(hWnd, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
            Result := ObjectFromLresult(lRes, IID_IHTMLDocument2, 0, pDoc);
            if Result = S_OK then
            begin
                (pDoc.parentWindow as IServiceprovider).QueryService(IWebbrowserApp, IWebbrowser2,    IE);
            end;
        finally
            FreeLibrary(hInst);
        end;
    end;
    使用GetIEFromHWND之后,就可以像控制你的TWebBrowser一样来控制别的IE了。