怎樣在IE工具欄上加入自己的工具 (轉)

worldblog發表於2007-12-07
怎樣在IE工具欄上加入自己的工具 (轉)[@more@]

怎樣在IE工具欄上加入自己的工具

寫一個COM,然後在登錄檔的HKEY_LOCAL_MACHINESOFTWAREInte ExplorerExtensions下放你的程式的GUID項,IE就會自動新增這個按鈕了。項下面的屬性參考其他.
 

1.HKEY_CURRENT_USERSOFTWAREMicrosoftInternet ExplorerExtensionsCmdMap(以下簡稱BB)下看看各個增加的鍵值,最有用的是NextID(便於時決定你的程式的CLSID加在什麼地方)。可以將你的程式的CLSID作為鍵名,鍵值為原來NextID的值,然後將NextID的值加一。
2.在HKKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions處增加一個專案,名字為你的程式的CLSID,他擁有的子鍵為(全部為字串型)
  ButtonText:按鈕的文字標籤。如果你設定IE的工具欄沒有文字標籤時,這些文字將作為工具提示(就是當滑鼠移動到按鈕上並停留一段時間時出現的小黃條)。
  CLSID:必須為{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}。這是IE工具條的CLSID。
  Default Visible:時是否可見。

  Exec:要的。(EXE格式)
  或者
  Clsxtension:加入的DLL註冊的ID。

  HotIcon:當滑鼠移動到按鈕上時顯示的圖示。
  Icon:普通狀態下的圖示。
  MenuText:在IE的“工具”選單中顯示的選單項。可以使用&符號指定。
  MenuStatar:當滑鼠移動到該選單項上時,在IE的狀態列上顯示的文字。

說明:可以用CLSIDExtension去指定自己為IE寫的擴充套件DLL,即“外掛”如Flash外掛。此時就不要指定Exec選項。同時也不要使用Menu的選項。

  CLSID就是類的ID,根據這個來區分不同的COM。
 

例子:,C++Builder

void __fastcall TChangeSkinForm::SetButton()
{
  AnsiString asIEKey = "SoftwareMicrosoftInternet ExplorerExtensions";
  if(!RegKeyExists(HKEY_LOCAL_MACHINE, asIEKey))//4.0
  return;
  //增加按鈕
  AnsiString asMyKey = asIEKey + "}";
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "CLSID", "{1FBA04EE-3024-11D2-8F1F-0000F87ABD16}" ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "ButtonText", "背景" ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Default Visible", "yes" ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Exec", Application->ExeName ,true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "HotIcon",  ExtractFilePath(Application->ExeName) + "Skinhot.ico",true);
  WriteStringToReg(HKEY_LOCAL_MACHINE, asMyKey, "Icon",  ExtractFilePath(Application->ExeName) + "Skin.ico",true);
}
 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752043/viewspace-989335/,如需轉載,請註明出處,否則將追究法律責任。

相關文章