首页 天气预报 新闻 邮箱 搜索 短信 聊天
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 网上学园 > 开 发 者 > 正文
用Delphi编程控制IE浏览器的窗口

http://www.sina.com.cn 2002/09/29 15:38 赛迪网--中国电脑教育报

  文/游新娥

  程序说明

  本程序用于打开IE、链接到指定的网页、获取IE地址栏中的URL地址信息及该窗口名称、激活最近打开的窗口以及关闭最近打开的窗口。程序的界面如图1:

  设计思想

  使用Delphi编程控制IE的方法有多种,在本程序中使用DDE来控制IE,应注意须先确保IE已经运行,因为此时IE要作为DDE服务器,用户的程序只能作DDE客户端,而DDE客户端无法与一个没有运行的服务器进行数据交换。在本程序中调用API函数ShellExecute来打开IE。


图1

  在本程序中使用DDE客户端时用到了类TDdeClientConv的以下几个函数及过程:

  function SetLink(Service:String;Topic:String):Boolean;

  function OpenLink:Boolean;

  function RequestData(const Item:String):Pchar;

  procedure CloseLink;

  其中,参数Service为DDE服务器的ApplicationName,对IE来说就是Iexplore;参数Topic是DDE会话的TopicName,不同功能对应的Topic不同;参数Item为会话的ItemName,也因功能不同而不同。函数SetLink用来设置会话主题,若成功返回True,否则返回False;函数RequestData用来返回会话的数据。

  设计步骤

  新建一个应用程序,为窗体加入两个Edit组件、6个Button组件。各组件属性如图2:


图2

  在uses中加入对DDEman,ShellAPE和ComObj单元的引用,并定义一个TDdeClientConv类型的全局变量DDE。

  编写相关代码

  ......

  var DDE:TDdeClientConv;

  //DDE为客户端全局变量

  implementation

  {R *.DFM}

  //创建窗体时创建DDE客户端

  procedure TForm1.FormCreate(Sender: TObject);

  begin

  DDE:=TDdeClientConv.Create(Self);

  end;

  //单击Open IE启动默认浏览器并自动打开指定的网页(若IE不是默认浏览器,需手工打开)

  procedure TForm1.Button3Click(Sender: TObject);

  begin

  //调用ShellExecute打开默认浏览器,将窗口模式设为SW_SHOWNORMAL

  ShellExecute(Handle,nil,PChar('www.chinaren.com/index.shtml'),nil,nil,SW_SHOWNORMAL);

  end;

  //单击Get URL按钮获取IE地址栏URL以及对应窗口标题

  procedure TForm1.Button1Click(Sender: TObject);

  begin

  //设置会话连接成功

  if DDE.SetLink('Iexplore', 'WWW_GetWindowInfo') then

  begin

  DDE.OpenLink;

  //返回信息并在组件Edit1中显示

  Edit1.Text:=DDE.QequestData('-1');

  DDE.CloseLink;

  end

  else

  ShowMessage('IE没在运行');

  end;

  //单击Open URL按钮链接到指定网页

  procedure TForm1.Button2Click(Sender: TObject);

  begin

  if DDE.SetLink('Iexplore', 'WWW_

  OpenURL') then

  begin

  //链接到指定Web页

  DDE.OpenLink;

  DDE.RequestData(Edit2.Text);

  DDE.CloseLink;

  end

  else

  ShowMessage('IE没在运行');

  end;

  //单击Activate IE按钮激活最近打开的IE窗口

  procedure TForm1.Button4Click(Sender: TObject);

  begin

  if DDE.SetLink('Iexplore', 'WWW_Activate') then

  begin

  DDE.OpenLink;

  DDE.RequestData('-1');

  DDE.CloseLink;

  end

  else

  ShowMessage('IE没有运行');

  end;

  //单击Close IE按钮关闭最近打开的IE窗口

  procedure TForm1.Button5Click(Sender: TObject);

  begin

  if DDE.SetLink('Iexplore', 'WWW_Exit') then

  begin

  DDE.OpenLink;

  DDE.RequestData('WWW_Exit');

  DDE.CloseLink;

  end

  else

  ShowMessage('IE没有运行');

  end.


发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

 相关链接
用好Delphi的打印技能的编程技巧 (2002/09/03 18:05)
Delphi编程实例:桌面小精灵 (2002/05/15 13:55)
用Delphi开发简单的WebMail程序 (2002/04/28 15:06)
Borland Delphi专业培训认证体系登陆中国 (2002/02/26 11:00)
用Delphi 5.0编写在线播放器 (2002/02/04 12:38)
Delphi编程使用经验四则 (2001/12/18 17:02)
Delphi程序的时限和加密方法 (2001/12/17 14:31)
通用微型面包车装备Delphi娱乐系统 (2001/11/09 14:52)
Delphi应用编程答疑解惑 (2001/11/02 16:14)
用Delphi再现Windows纸牌游戏 (2001/10/30 10:56)


科技时代意见反馈留言板 电话:010-82612286 或 010-82628888-5488   欢迎批评指正

新浪简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 产品答疑

Copyright © 1996 - 2002 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网