Einzelnen Beitrag anzeigen

Eichhoernchen

Registriert seit: 22. Apr 2004
Ort: Hagen
322 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Internetexplorer Seite ändern und absenden

  Alt 14. Mär 2006, 17:52
Hmm, war das nicht bei Windows 98 so das der Desktophintergrund irgendwie was mit dem IE zu tun hatte? Das sah doch immer so aus wenn der PC abesoffen war und man den Bildschirmhintergrund wiederherstellen wollte.


Hmm naja ich hab jetzt mal drübernach gedacht ich geh über die Methode einen riesen Umweg.

Ich will ja nur die Seite verändern, dazu brauch ich gar keinen IWebbrowser2. Ich bekomme ja schon ein IHTMLDocument2 zurückgeliefert mit dem ich den Inhalt ändern kann.


Mein jetzt funzender Code:

Delphi-Quellcode:
uses MSHTML_TLB, SHDocVw_TLB, ActiveX;

type
  TObjectFromLResult = function(LRESULT: lResult; const IID: TIID; WPARAM: wParam; out pObject): HRESULT; stdcall;

function GetHTMLFromHWND(WHandle: HWND; var html: IHTMLDocument3): HRESULT;
var
  hInst: HWND;
  lRes: Cardinal;
  MSG: Integer;
  ObjectFromLresult: TObjectFromLresult;
begin
  hInst := LoadLibrary('Oleacc.dll');
  @ObjectFromLresult := GetProcAddress(hInst, 'ObjectFromLresult');
  if @ObjectFromLresult <> nil then begin
    try
      MSG := RegisterWindowMessage('WM_HTML_GETOBJECT');
      SendMessageTimeOut(WHandle, MSG, 0, 0, SMTO_ABORTIFHUNG, 1000, lRes);
      Result := ObjectFromLresult(lRes, IHTMLDocument3, 0, html);
    finally
      FreeLibrary(hInst);
    end;
  end;
end;

Hab jetzt IHTMLDocument3 genommen weil es dort mehr Editiermöglichekeiten gibt als bei IHTMLDocument2
Jan
  Mit Zitat antworten Zitat