Function TForm1.GetFrame(FrameNo:Integer):IWebbrowser2; var OleContainer:IOleContainer; enum:IEnumUnknown; unk:IUnknown; Fetched:PLongint; begin while Form1.webbrowser1.ReadyState<>READYSTATE_COMPLETE do Application.ProcessMessages; if Assigned(webbrowser1.document) then begin Fetched:=nil; OleContainer:=webbrowser1.Document as IOleContainer; OleContainer.EnumObjects(OLECONTF_EMBEDDINGS,enum); Enum.Skip(FrameNo); Enum.Next(OLECONTF_EMBEDDINGS,Unk,Fetched); Result:=Unk as IWebbrowser2; end else Result:=nil; end;
因为需要用户名,密码的。
var
OleContainer:IOleContainer;
enum:IEnumUnknown;
unk:IUnknown;
Fetched:PLongint;
begin
while Form1.webbrowser1.ReadyState<>READYSTATE_COMPLETE do
Application.ProcessMessages;
if Assigned(webbrowser1.document) then
begin
Fetched:=nil;
OleContainer:=webbrowser1.Document as IOleContainer;
OleContainer.EnumObjects(OLECONTF_EMBEDDINGS,enum);
Enum.Skip(FrameNo);
Enum.Next(OLECONTF_EMBEDDINGS,Unk,Fetched);
Result:=Unk as IWebbrowser2;
end
else
Result:=nil;
end;