五更琉璃黑猫图片大全:IE 工具条开发

来源:百度文库 编辑:高考问答 时间:2024/05/03 07:43:47
请问 IE 工具条开发是使用什么软件开发的?用VB能做出来吗?我想自己做工具条(不是通过其他网站定制).

我会追加分数,请尽快回答,谢谢!
最好能使用VB制作,请详细说明(制作的规格、制作后如何写入注册表等)

建议你找几个现成的实例,研究研究与注册表、管理加载项(Internet选项->程序->管理加载项)的关系。

补充一下

实现方法:

写一个COM程序,然后在注册表的HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerExtensions下放你的程序的GUID项,IE就会自动添加这个按钮了。项下面的属性参考其他.

1.HKEY_CURRENT_USERSOFTWAREMicrosoftInternet ExplorerExtensionsCmdMapping(以下简称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格式)
或者
ClsidExtension:加入的插件DLL注册的ID。

HotIcon:当鼠标移动到按钮上时显示的图标。
Icon:普通状态下的图标。
MenuText:在IE的“工具”菜单中显示的菜单项。可以使用&符号指定快捷键。
MenuStatusBar:当鼠标移动到该菜单项上时,在IE的状态栏上显示的文字。

说明:可以用CLSIDExtension去指定自己为IE写的扩展DLL,即“插件”如Flash插件。此时就不要指定Exec选项。同时也不要使用Menu的选项。

CLSID就是类的ID,系统根据这个来区分不同的COM对象。

例子:,C++Builder

void __fastcall TChangeSkinForm::SetButton()
{
AnsiString asIEKey = "Software\Microsoft\Internet Explorer\Extensions";
if(!RegKeyExists(HKEY_LOCAL_MACHINE, asIEKey))//ie 4.0
return;
//增加按钮
AnsiString asMyKey = asIEKey + "\{06DD38D3-D187-11CF-A80D-00C04FD74AD8}";
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);
}

可以做。采用图形控件

这个好像一般用VC做, 你参考这:
http://vckbase.net/document/listdoc.asp?mclsid=17&sclsid=1711

新建一个控件工程
Private Sub UserControl_Resize()
UserControl.Width = 540
UserControl.Height = 540
Image1.Move 0, 0, ScaleWidth, ScaleHeight
End Sub
'将属性值写到存储器
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty(“ButtonText",
m_ButtonText, m_def_ButtonText)
Call PropBag.WriteProperty(“Exec", m_Exec,
m_def_Exec)
Call PropBag.WriteProperty(“HotIcon",
m_HotIcon, m_def_HotIcon)
Call PropBag.WriteProperty(“Icon",
m_Icon, m_def_Icon)
Call PropBag.WriteProperty(“MenuText",
m_MenuText, m_def_MenuText)
Call PropBag.WriteProperty(“MenuStatusBar",
m_MenuStatusBar, m_def_MenuStatusBar)
Call PropBag.WriteProperty(“GUID",m_GUID,
m_def_GUID)
End Sub
'获取按钮文本
Public Property Get ButtonText() As String
ButtonText = m_ButtonText
End Property
'设置按钮文本
Public Property Let ButtonText(ByVal New_ButtonText As String)
m_ButtonText = New_ButtonText
PropertyChanged “ButtonText"
End Property
'获取当前按钮执行目标
Public Property Get Exec() As String
Exec = m_Exec
End Property
'设置当前按钮执行目标
Public Property Let Exec(ByVal New_Exec As String)
m_Exec = New_Exec
PropertyChanged “Exec"
End Property
'获取鼠标移上按钮时显示的图标
Public Property Get HotIcon() As String
HotIcon = m_HotIcon
End Property
'设置鼠标移上按钮时显示的图标
Public Property Let HotIcon(ByVal New_HotIcon As String)
m_HotIcon = New_HotIcon
PropertyChanged “HotIcon"
End Property
'获取按钮正常显示的图标
Public Property Get Icon() As String
Icon = m_Icon
End Property
'设置按钮正常显示的图标
Public Property Let Icon(ByVal New_Icon As String)
m_Icon = New_Icon
PropertyChanged “Icon"
End Property
'获取菜单项显示文本
Public Property Get MenuText() As String
MenuText = m_MenuText
End Property
'设置菜单项显示文本
Public Property Let MenuText(ByVal New_MenuText As String)
m_MenuText = New_MenuText
PropertyChanged “MenuText"
End Property
'获取菜单项注释文本
Public Property Get MenuStatusBar() As String
MenuStatusBar = m_MenuStatusBar
End Property
'设置菜单项注释文本
Public Property Let MenuStatusBar(ByValNew_Menu
StatusBar As String)
m_MenuStatusBar = New_MenuStatusBar
PropertyChanged “MenuStatusBar"
End Property
Public Property Get GUID() As String
GUID = m_GUID
End Property
Public Property Let GUID(ByVal New_GUID As String)
m_GUID = New_GUID
PropertyChanged “GUID"
End Property
'显示“关于”对话框
Public Sub ShowAboutBox()
frmAbout.Show vbModal
Unload frmAbout
Set frmAbout = Nothing
End Sub
该控件提供了 7 个属性和2 个方法。
控件的属性:
●GUID:一个在注册表唯一标识应用软件的数字序列,共36位;
●ButtonText:按钮上显示的文本;
●Exec:按钮执行的目标,为可执行文件或超文本链接等;
●HotIcon:鼠标移上按钮时显示的图标,取自 EXE 文件或 DLL 文件;
●Icon:按钮正常显示的图标,取自 EXE 文件或 DLL 文件;
●MenuText:在 IE “工具”菜单中显示的菜单项;
●MenuStatusBar:IE“工具”菜单项的解释,显示在底部的状态条上。
控件的方法:
●AddBtn2IEtoolbar:添加自定义按钮;
●DelBtnFromIEtoolbar:删除自定义按钮。
使用方法(以VB为例)
在 VB 中,首先将该用户控件加入“部件”列表中,然后把该控件从“工具箱”拖放到 EXE 工程窗体上,再在窗体上放两个命令按钮,命名为 cmdADD 和 cmdDel,键入以下代码:
Option Explicit
'该 GUID 号码用特殊工具产生
Const theGUID = “{3FA4FB86-E43A-11D4-B3DD-00E006E25C0B}"
Private Sub cmdAdd_Click() '添加按钮
AddButton1.Guid = theGUID
AddButton1.ButtonText = “控件"
AddButton1.Exec = “http://why100000.at.
china.com"
AddButton1.HotIcon = “C:\\Add2IE Toolbar\\Add2IEToolbar.exe,101"
AddButton1.Icon = “C:\\Add2IE Toolbar\\Add2IEToolbar.exe,102"
AddButton1.MenuText = “测试控件"
AddButton1.MenuStatusBar = “测试我制作的 ActiveX 控件"
AddButton1.AddBtn2IEtoolbar '执行
End Sub
Private Sub cmdDel_Click() '删除按钮
AddButton1.Guid = theGUID
AddButton1.DelBtnFromIEtoolbar
End Sub
以上代码中,GUID 号可以用 VC++ 6.0 提供的 GUID 生成器工具产生。方法是:运行 VC++ 6.0,打开一个工程,在“Project\\Add to Project\\Components and Controls\\Visual C++ Components\\GUID Generator”中,按“Insert”按钮,确定后,先选第 4 项“Registry Format”,再按“Copy”按钮,GUID 生成器就将一个新产生的 GUID 号拷贝到了剪贴板上。
按钮的图标包含在 C:\\Add2IE Toolbar\\Add2IEToolbar.exe 文件中,101 和 102 是它们的顺序号。按 cmdAdd 按钮,然后打开 IE 浏览器,就会看到 IE 工具条上添加的自定义按钮了。

good