程序說明
本程序用於打開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('http://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
[1] [2] 下一頁