程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 用Delphi控制IE窗口

用Delphi控制IE窗口

編輯:Delphi

   程序說明

   本程序用於打開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] 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved