如何往IE工具條新增按鈕

2021-05-01 09:49:51 字數 2604 閱讀 6914

問題提出:

金山詞霸、網路螞蟻等軟體安裝後會向ie的工具條新增自己的按鈕。按下按鈕後還會作出相應的動作,這種功能是如何實現的呢?讀完本文,您也可以將自己應用程式的按鈕新增到ie的工具條中。

基本原理:

從ie5開始便允許我們向工具欄新增自己的按鈕,其本質就是修改登錄檔,新增建立此按鈕所需的資訊。

實現步驟:

1.建立此按鈕的guid(globally unique identifier)

你可以通過visual studio中的guidgen.exe來產生guid。

例如我生成的guid是

以下的例子中我都使用這個guid來作說明。

2.建立子鍵hkey_local_machine/software/microsoft/internet explorer/extensions/

3.在此子鍵下建立如下字串值。

(1)clsid

這是ie的clsid,其值必須為

(2)default visible

指明此按鈕預設狀態下是否可見,yes表示可見,no為不可見

(3)buttontext

按鈕文字

(4)icon

預設狀態下的圖示全路徑,例如c:/vckbase.ico。也可以是exe檔案中包含的圖示,例如:c:/progra~1/netants/netants.exe,1000

(5)hoticon

滑鼠移到按鈕上時的圖示全路徑

如下子鍵為按下按鈕後需要執行的相應動作:可以是com物件、瀏覽條explorer bar、指令碼script、可執行檔案。

下面我們逐個進行介紹。

①com物件

你需要建立名為clsidextension的字串值,其值應該為此com物件的guid

例如金山詞霸就使用clsidextension來呼叫自己的com物件。

②瀏覽條explorer bar

所謂瀏覽條就是類似我們按下往ie歷史按鈕後開啟的歷史記錄列表,其本質好比mfc中的crebar物件。 瀏覽條也可以自己製作,

因為超出了本文的範圍,暫不作講解。

為了在按下按鈕後開啟乙個瀏覽條,你需要建立名為bandclsid的字串值,其值為瀏覽條的clsid

③指令碼script

按下按鈕後執行的指令碼,例如:"%systemroot%/web/related.htm"

你可以在這個html檔案裡面加上指令碼來得到ie當前的許多資訊,需要注意的是假如你想通過script開啟非指令碼的html檔案是不可行的。

請參考如下netants取得當前頁所有鏈結的指令碼**

我們再看乙個比較有用的指令碼,這段指令碼的作用是得到當前位址,並開啟此**的首頁。

關於external等物件的具體使用方法請參閱微軟的《動態html開發參考大全》--人民郵電出版社出版

④可執行檔案

假如我們想讓ie在按下按鈕後執行乙個可執行檔案, 你可以增加名為exec的字串值,其值為此可執行檔案的全路徑,

例如c:/windows/notepad.exe或者是乙個**http://www.vckbase.com/index.html

下面我們介紹乙個簡單的例子。

void ciebuttondlg::onadd()

--cregkey reg;

--char keyname="software//microsoft//internet explorer//extensions//";

--tchar pathname[max_path];

--tchar iconpathname[max_path]; ///正常時的圖示全路徑

--tchar hoticonpathname[max_path]; ///滑鼠覆蓋時的圖示全路徑

--getmodulefilename(0,pathname,max_path); ///得到本可執行檔案的路徑

--strcpy(iconpathname,pathname);

--strcpy(hoticonpathname,pathname);

--strcat(hoticonpathname,",131"); ///131是圖示的id,你可以以資源方式開啟exe檔案就可以看到所有資源及其id

--strcat(iconpathname,",129");

--reg.create(hkey_local_machine,keyname);

--reg.setvalue("","clsid");

--reg.setvalue("yes","default visible");

--reg.setvalue("vc知識庫","buttontext");

--reg.setvalue(iconpathname,"icon");

--reg.setvalue(hoticonpathname,"hoticon");

--/假如是執行指令碼,可以是reg.setvalue("c://test.html","script"); ///在test.html 存放你的指令碼**

--reg.setvalue("http://www.vckbase.com/","exec");///開啟網頁

}

幾何畫板如何新增按鈕

作為全國人教版指定使用的教育軟體,幾何畫板中有很多功能很多使用者也不了解,其中隱藏 顯示操作類按鈕就是一種。使用幾何畫板製作課件時,使用操作類按鈕有很大的幫助。下面以製作兩個線段的隱藏 顯示按鈕為例進行詳細講解。具體步驟如下 1.繪製線段和操作按鈕。選擇 線段工具 繪製出兩條線段ab和線段cd。選中...

學會在IE瀏覽器工具欄新增按鈕

一 登錄檔修改法 1.執行regedit並展開登錄檔到hkey current user software microsoft internet explorer extensions。2.在extensions中新建主鍵,主鍵的命名格式為 xx x x x 如 這裡不能和其它主鍵名發生重複。注 這...

VC 為工具欄新增按鈕

假設工具欄有兩個按鈕,為每個按鈕新增圖示和文字 1.新建乙個單文件程式,將準備好的圖示資源 32 32 複製到res資料夾.2.在資源中開啟工具欄編輯器,刪除 del 原有的點陣圖和多餘的按鈕 將按鈕拖出工具欄即可刪除 並為每個按鈕修改id 雙擊 比如id btn1 id btn2,可在prompt...