淺談製作IE PlugIn(含範例) |
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
淺談製作IE PlugIn(含範例) 我曾經製作過IE PlugIn,那是第一次在網路上發表程式,這過程包含很多經驗都是第一次,現在我簡略的說明一下IE PlugIn的製作過程。 要製作IE PlugIn之前,先來談一下IE如何與外部程式溝通。
以網路螞蟻為例,
1.安裝程式做了哪些事呢?
安裝主程式、註冊DLL或OCX、產生HTML檔、Windows註冊檔中加入機碼 2.IE如何呼叫外部程式或PlugIn程式?
首先你要知道安裝程式在Windows註冊檔中加入了哪些機碼
最主要的有兩項,第一項就是IE PopMenu的增加選項,第二項就是按下IE PopMenu的增加選項後,所要呼叫的檔案。 3.按下IE PopMenu的增加選項後,呼叫哪個檔案?
是EXE嗎?不是!
是DLL或OCX嗎?不是!
是HTML嗎?正確! 4.為何要呼叫HTML檔呢?
因為HTML檔中包含了相當重要的資訊,裡頭VBScript與所要呼叫的DLL或OCX,
VBScript將會把所需要的資訊傳送給DLL或OCX,接著DLL或OCX再將EXE呼叫起來。 這就是網路螞蟻...等軟體的做法。 關於IE PopMenu要如何增加選項,何時要出現何時要隱藏
理論文章,請在Google搜尋以下相關資訊
------------------------------------------------------
如何在IE中添加右鍵菜單項及任務欄按鈕
作者:TechnoFantasy 中國軟件開發中心
------------------------------------------------------
這篇文章寫的非常清楚
至於Delphi實作部分
http://www.euromind.com/iedelphi/ie5tools.htm
實做範例http://delphi.ktop.com.tw/topic.php?TOPIC_ID=31014 註冊DLL與OCX部分
記得某些安裝軟體會提供註冊DLL與OCX,另外也可以透過程式註冊,
這一部份如果網站上無相關文章的話,我會後續將範例程式補上。 好啦!終於進入範例的解說了。
開發環境為Delphi6
File→New→Other→ActiveX→ActiveX Form(註)→OK
註:如果你的Form要在IE上面顯示的話,就要選ActiveX Form(OCX),
如果你的畫面要在執行檔上顯示,就要選ActiveX(DLL)。 接著我們要來新增屬性
View→Type Library→IActiveFormX(畫面左邊)→New Property(畫面上方)→Read | Write
這時會增加兩個Property1,將這兩個屬性的Name更名為URL,Type更改為BSTR(將屬性訂為WideString) 這時宣告一個變數
private
{ Private declarations }
WURL:WideString; 並且修改
function TActiveFormX.Get_url: WideString;
begin
Result := WideString(WURL);
end; procedure TActiveFormX.Set_url(const Value: WideString);
begin
WURL:=Value;
end; 最後再Form上面放上一個Button
在OnClick的事件中加入
ShowMessage(WURL); 請先存檔,存檔後按下Ctrl+F9,產生OCX,接著回到Type Library視窗,按下
Register Type Library。這時將會出現訊息告知此OCX檔已經正確註冊了。
這時查看點選畫面左邊有個ActiveFormX,我們可以獲得其GUID,以我的範例而言是
{26376E56-C855-4870-82D3-370A2376F0F8} 打開記事本編輯一個HTML檔
存檔取名為test.html(本想打HTML上去,可是秀不出來哩!改為存在下載檔案中了) 這時點擊兩下test.html
你將可以看到ActiveX Form
點選按鈕後,是否有看到我們在HTML裡面所設定的網址呢?
這就是IE PlugIn的第一步了。
也許看倌可能會覺得這範例很無趣,這一點我必須承認。並不是我想留一手而是要全部一次說完真的是太辛苦了。整個過程也太漫長了,所以要做到類似網路螞蟻等PlugIn能在IE增加右鍵選單、透過VBScript則不在這次的說明之中。如果各位有興趣的話,
VBScript部分可參考這裡http://delphi.ktop.com.tw/topic.php?topic_id=29045 這是以前寫的軟體畫面,跟各位分享一下。
發表人 - akai 於 2003/05/24 02:40:32
附加檔案:31020_activeform.zip
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
剛剛突然想到,以之前所寫的ViewEXIF為例
除了使用者可自行按右鍵查詢EXIF資訊外
使用者甚至則可在以下網頁點選小圖獲得EXIF資訊
http://ak.no-ip.com/wallpaper/index1.php3
這也算是另外一種應用吧!
|
akai
一般會員 發表:27 回覆:22 積分:9 註冊:2003-03-30 發送簡訊給我 |
剛剛找到之前曾經發表的文章
有談到右鍵選單的出現/隱藏 時機,希望對大家有所幫助
http://delphi.ktop.com.tw/topic.php?TOPIC_ID=23191
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |