如何控制IE(30分)

  • 主题发起人 主题发起人 Jamw
  • 开始时间 开始时间
J

Jamw

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中如何实现以下功能
1、让已打开的IE打开另一个指定的主页(地址在程序中指定)。
2、如何让正在打开的IE停止。(即停止按扭被按下的功能)。
3、在程序中如何关闭一个IE。
 
uses Comobj, ... ... ;
{...}
var
Form1: TForm1;
IEApp: Variant;

{...}
procedure TForm1.Button1Click(Sender: TObject);
begin
IEApp := CreateOLEObject('InternetExplorer.Application');
IEApp.visible := true;
IEApp.Top := 0;
IEApp.Left := 0;
IEApp.width := screen.width;
IEApp.height := screen.height;
IEApp.Navigate('http://www.delphibbs.com');
end;

IE的其它的控制:
IEApp.GoForward ;
IEApp.GoBack ;
IEApp.GoHome ;
IEApp.Refresh ;
IEApp.Stop ;
IEApp.GoHome ;
IEApp.FullScreen := true;
IEApp.StatusText := 'My Status Text';
IEApp.Path := Show Path to IE
IEApp.FullName := Full Path to IE
IEApp.LocationURL := Get active Url
 
对了

IEApp.quit;
退出
 
如果要找到以运行的IE,需要用CoShellWindows
例如:
var
ShellWindow: IShellwindows;
i:integer;
web:IWebBrowser2;
begin
shellwindow:= CoShellWindows.Create;
for i:=0 to shellwindow.Count-1 do
begin
Web:=shellwindow.Item(i) as IWebbrowser2;
//这里就得到了一个IWebBrowser2的接口,就可以调用他的方法了,楼上得以经说过了
Web.xxx
end;
end;
散分吧[:)]
 
GetActiveOleObject('InternetExplorer.Application');
也可以找到已经运行的IE实例,不用那么深入的 [:D]
 
如果打开了多个IE,怎么对某个指定的IE进行处理。
 
你这么指定?句柄?进程ID?
 
指定哪一个啊?
 
To DragonPC_???
呵呵,你也是这几天才开始泡DFW得吧,老是看到你的名字,偶也是啊
有没有qq号啊?我的是1188540,有兴趣加上先[:0]
 
碰上知己了 [:D] 都是 DFW 的新人
 
偶加了你了啊,你还没验证我哪
 
只要能对某个指定的IE进行处理就行,不管是用进程号、句柄还是别的。
 
就是指定也要知道你怎么指定啊,是根据什么来制定啊
我怎么知道你要指定拿一个?
 
比如说打开了两个IE,一个打开的SINA。COM,一个打开的163。COM。
现在要关闭打开SINA。COM的那个IE,或者是将打开SINA。COM的IE的地址改成CHINA。COM。
 
经过我一天的研究,要想通过浏览的网站来获取IE Object实例,可以通过
TShellWindows来枚举系统所有IE窗口来判断IE

procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
Browser: IWebBrowser2;
sw : TShellWindows ;
begin
sw := TShellWindows.Create(Application);
try
for i := 0 to sw.Count - 1 do
begin
Browser := sw.Item(i) as IWebBrowser2;
// ShowMessage(Browser.LocationURL) ;
if Browser.LocationURL = 'http://www.163.net/' then
begin
// »ñµÃÄãËùÏëÒªµÄIE object
Browser.Navigate('www.sina.com.cn', EmptyParam, EmptyParam, EmptyParam, EmptyParam);
// Browser.Quit
Break;
end;
end;
finally
sw.Free ;
end;
end;
 
大家不介意我来学习吧
 
不知道我的代码对你功能是不是有用,有用找我tufeiping@sina.com记得给分!!
1.通过注册表可以将主页指定到需要主页,如果是已经运行,你可以用findwindow函数找到
IEFrame(IE的类),再找到子对象EDIT(就是地址栏)将你程序中的地址加入其中就可
以了;
2.还没有想到:)
3.post一个消息给1.的IE的handle就可以了,消息当然是close了!!
 
哦,还有一点忘了:你的程序中放一个listbox将你枚举到的地址显示到其中,这样只要你选
定它,你就可以进行停止,转向,关闭等你要的操作!提供点思路,这个不要分!呵呵[:)]
 
后退
顶部