用VB制作IE工具条自定义按钮

执念终需了

执念终需了

2016-02-19 16:32

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是用VB制作IE工具条自定义按钮,一起来学习了解下吧!
现在,有许多软件安装后会在IE浏览器的工具条上添加一个自定义按钮,为用户运行程序提供了方便,如“网络蚂蚁”、“金山词霸2000”等等。实际上添加这个自定义按钮并不难,只要找到了它在注册表中的位置和有关参数,通过手工或程序都可以轻易完成。而最方便的办法就是调用现成的ActiveX控件来完成这个功能,但Windows似乎没有提供这种控件。下面介绍如何开发和使用这种自定义控件。
  实现方法
  要添加这种自定义按钮,需要在Windows注册表的HKEY_LOCAL_MACHINESoftwareMicrosoftInternetExplorerExtensions子键下建立一个GUID项,然后在注册表的右栏建立相应的参数并赋值。这些参数及其含义如下:
  ●ButtonText:自定义按钮上显示的文本字符串;
  ●Clsid:IE工具条的类标识码,为“{1FBA04EE-3024-11D2-8F1F0000F87ABD16}”;
  ●DefaultVisible:自定义按钮是否可见,一般为“Yes";
  ●Exec:自定义按钮执行的目标,为可执行文件或超文本链接等;
  ●HotIcon:鼠标移上按钮时显示的图标,一般取自EXE文件或DLL文件;
  ●Icon:按钮正常显示的图标,一般取自EXE文件或DLL文件;
  ●MenuText:在IE的“工具”菜单中显示的菜单项;
  ●MenuStatusBar:IE的“工具”菜单项的注释,在状态条上显示。
  制作过程
  在VB5.0/6.0下建立新的“ActiveX控件”工程。
  首先,给控件AddButton的Picture属性添加一个微型Icon图片,这样当使用该控件时,会在控件工具箱上显示这个小图标。然后,再在设计窗口上放置一个image控件,给它也设置一个小图片,使用该控件时,会在其Form上显示该控件的外观。最后,调出代码编辑窗口,在该窗口中键入以下代码,其中API函数调用的代码可以直接从“API文本浏览器”中获得。
  OptionExplicit
  ……'DefaultPropertyValues
  ……'PropertyVariables
  '定义常量
  ConstHKEY_LOCAL_MACHINE=&H80000002
  ConstREG_SZ=1
  '声明存取注册表的API函数
  PrivateDeclareFunctionRegCloseKeyLib“advapi32.dll"(ByValhKeyAsLong)AsLong
  PrivateDeclareFunctionRegCreateKeyLib“advapi32.dll"Alias“RegCreateKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResultAsLong)AsLong
  PrivateDeclareFunctionRegDeleteValueLib“advapi32.dll"Alias“RegDeleteValueA"(ByValhKeyAsLong,ByVallpValueNameAsString)AsLong
  PrivateDeclareFunctionRegOpenKeyLib“advapi32.dll"Alias“RegOpenKeyA"(ByValhKeyAsLong,ByVallpSubKeyAsString,phkResultAsLong)AsLong
  PrivateDeclareFunctionRegSetValueExLib“advapi32.dll"Alias“RegSetValueExA"(ByValhKeyAsLong,ByVallpValueNameAsString,ByValReservedAsLong,ByValdwTypeAsLong,lpDataAsAny,ByValcbDataAsLong)AsLong
  '定义注册表中的主键、子键
  ConsthKey=HKEY_LOCAL_MACHINE
  ConstsubKey0=“SoftwareMicrosoftInternetExplorerExtensions"
  '把字符串值存入注册表
  PrivateSubSaveString(hKeyAsLong,strPathAsString,strValueAsString,strdataAsString)
  DimkeyhandAsLong
  DimrAsLong
  r=RegCreateKey(hKey,strPath,keyhand)
  r=RegSetValueEx(keyhand,strValue,0,REG_SZ,ByValstrdata,Len(strdata))
  r=RegCloseKey(keyhand)
  EndSub
  '从注册表中删除字符串值
  PrivateFunctionDeleteValue(ByValhKeyAsLong,ByValstrPathAsString,ByValstrValueAsString)
  Dimr,keyhandAsLong
  r=RegOpenKey(hKey,strPath,keyhand)
  r=RegDeleteValue(keyhand,strValue)
  r=RegCloseKey(keyhand)
  EndFunction
  '把设置写入注册表,定义按钮
  PublicSubAddBtn2IEtoolbar()
  DimsubKeyAsString
  subKey=subKey0&Trim(GUID)&“"
  CallSaveString(hKey,subKey,“ButtonText",ButtonText)
  CallSaveString(hKey,subKey,“Clsid",
  “{1FBA04EE-3024-11D2-8F1F0000F87ABD16}")
  CallSaveString(hKey,subKey,“DefaultVisible",“Yes")
  CallSaveString(hKey,subKey,“Exec",Exec)
  CallSaveString(hKey,subKey,“HotIcon",HotIcon)
  CallSaveString(hKey,subKey,“Icon",Icon)
  CallSaveString(hKey,subKey,“MenuStatusBar",
  MenuStatusBar)
  CallSaveString(hKey,subKey,“MenuText",MenuText)EndSub
  '从注册表中删除自定义按钮
  PublicSubDelBtnFromIEtoolbar()
  DimsubKeyAsString
  subKey=subKey0&Trim(GUID)&“"
  CallDeleteValue(hKey,subKey,“ButtonText")
  CallDeleteValue(hKey,subKey,“Clsid")
  CallDeleteValue(hKey,subKey,“DefaultVisible")
  CallDeleteValue(hKey,subKey,“Exec")
  CallDeleteValue(hKey,subKey,“HotIcon")
  CallDeleteValue(hKey,subKey,“Icon")
  CallDeleteValue(hKey,subKey,“MenuStatusBar")
  CallDeleteValue(hKey,subKey,“MenuText")
  EndSub
  '初始化控件属性
  PrivateSubUserControl_InitProperties()
  m_ButtonText=m_def_ButtonText
  m_Exec=m_def_Exec
  m_HotIcon=m_def_HotIcon
  m_Icon=m_def_Icon
  m_MenuText=m_def_MenuText
  m_MenuStatusBar=m_def_MenuStatusBar
  m_GUID=m_def_GUID
  EndSub
  '从存储器中加载属性值
  PrivateSubUserControl_ReadProperties(PropBagAsPropertyBag)
  m_ButtonText=PropBag.ReadProperty
  (“ButtonText",m_def_ButtonText)
  m_Exec=PropBag.ReadProperty(“Exec",
  m_def_Exec)
  m_HotIcon=PropBag.ReadProperty(“HotIcon",
  m_def_HotIcon)
  m_Icon=PropBag.ReadProperty(“Icon",
  m_def_Icon)
  m_MenuText=PropBag.ReadProperty
  (“MenuText",m_def_MenuText)
  m_MenuStatusBar=PropBag.ReadProperty
  (“MenuStatusBar",m_def_MenuStatusBar)
  m_GUID=PropBag.ReadProperty(“GUID",
  m_def_GUID)
  EndSub->

展开更多 50%)
分享

猜你喜欢

用VB制作IE工具条自定义按钮

编程语言 网络编程
用VB制作IE工具条自定义按钮

用VB创建自定义的光标

编程语言 网络编程
用VB创建自定义的光标

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Authorware:自定义按钮

Authorware 设计软件 平面设计软件 广告设计软件
Authorware:自定义按钮

IE9自定义配置工具使用教程

浏览器
IE9自定义配置工具使用教程

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

用VC在IE浏览器的工具条上添加命令按钮

编程语言 网络编程
用VC在IE浏览器的工具条上添加命令按钮

VC制作真彩工具条

编程语言 网络编程
VC制作真彩工具条

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

PropertyBag对象实现数据连续操作

PropertyBag对象实现数据连续操作

网站优化之服务器配置优化

网站优化之服务器配置优化
下拉加载更多内容 ↓