問題提出:
金山詞霸、網路螞蟻等軟體安裝後會向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...