2023年11月25日发(作者:)

Delphi控制IE窗口

程序说明

本程序用于打开IE、链接到指定的网页、获取IE地址栏中的URL地址信息及该窗

口名称、激活最近打开的窗口以及关闭最近打开的窗口。程序的界面如图1

设计思想

使用Delphi编程控制IE的方法有多种,在本程序中使用DDE来控制IE应注意须

先确保IE已经运行,因为此时IE要作为DDE服务器,用户的程序只能作DDE

户端,DDE客户端无法与一个没有运行的服务器进行数据交换。在本程序中调用

API函数ShellExecute来打开IE

1

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

function SetLink(Service:StringTopic:String):Boolean

function OpenLink:Boolean

function RequestData(const Item:String):Pchar

procedure CloseLink

其中,参数ServiceDDE服务器的ApplicationName,对IE来说就是Iexplore;参

TopicDDE会话的TopicName不同功能对应的Topic不同;参数Item为会话

ItemName,也因功能不同而不同。函数SetLink用来设置会话主题,若成功返回

True,否则返回False;函数RequestData用来返回会话的数据。

设计步骤

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

2

2

uses中加入对DDEman,ShellAPEComObj单元的引用,并定义一个

TDdeClientConv类型的全局变量DDE

编写相关代码

......

var DDE:TDdeClientConv;

//DDE为客户端全局变量

implementation

{$R *.DFM}

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

procedure eate(Sender: TObject);

begin

DDE:=(Self);

end;

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

器,需手工打开)

procedure 3Click(Sender: TObject);

begin

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

ShellExecute(Handle,nil,PChar('/'),

nil,nil,SW_SHOWNORMAL);

end;

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

procedure 1Click(Sender: TObject);

begin

//设置会话连接成功

if k('Iexplore', 'WWW_GetWindowInfo') then

begin

nk;

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

:=tData('-1');

ink;

end

else

ShowMessage('IE没在运行');

end;

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

procedure 2Click(Sender: TObject);

begin

if k('Iexplore', 'WWW_

OpenURL') then

begin

//链接到指定Web

nk;

tData();

ink;

end

ink;

end

else

ShowMessage('IE没有运行');

end;

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

procedure 5Click(Sender: TObject);

begin

if k('Iexplore', 'WWW_Exit') then

begin

nk;

tData('WWW_Exit');