首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络安全-> 黑客攻防
用vb制作ie工具条自定义按钮_visualbasic教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
现在,有许多软件安装后会在IE浏览器的工具条上添加一个自定义按钮,为用户运行程序提供了方便,如“网络蚂蚁”、“金山词霸2000”等等。实际上添加这个自定义按钮并不难,只要找到了它在注册表中的位置和有关参数,通过手工或程序都可以轻易完成。而最方便的办法就是调用现成的ActiveX控件来完成这个功能,但Windows似乎没有提供这种控件。下面介绍如何开发和使用这种自定义控件。
实现方法
要添加这种自定义按钮,需要在Windows注册表的HKEY_LOCAL_MACHINE\Software\Microsoft\InternetExplorer\Extensions子键下建立一个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=“Software\Microsoft\InternetExplorer\Extensions\"
把字符串值存入注册表
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->


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·J2EE平台介绍-JSP教程,J2ME开发
·自己制作友好的页面“确认对话框”-ASP教程,ASP应用
·DataAdapter是如何更新数据库数据的?-.NET教程,数据库应用
·jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线-JSP教程,Jsp/Servlet
·企业Java技术开发技巧2则-JSP教程,Java技巧及代码
·刚刚整理好-汉字转拼音缩写的函数-.NET教程,评论及其它
·关于数据返回给调用页面-ASP教程,数据库相关
·如何使用C#压缩文件及注意的问题!-.NET教程,C#语言
·数据库安装程序-.NET教程,数据库应用
·DataGrid的自定义分页UserControl-.NET教程,数据库应用
最新文章
·王通:网站推广的18种秘笈_营销推广
·什么是mfa,以及停止mfa的好处_网赚技巧
·google adsense 域名保护功能是否作恶_网赚技巧
·关于无效点击-adsense团队资深专员如是说_网赚技巧
·google adsense将以人民币支付_站长访谈
·bbmao的神秘配方:打破中文聚类搜索的低迷_站长访谈
·你的网站为什么粘不住流量?_站长心得
·决定网站成败重要的六个因素_站长心得
·widnows vista是吃内存大户 优化vista攻略_windows vista
·首页所应该达到的几个目标(1)_站长心得
相关主题
  • 用vb制作即时动态按钮_visualbasic教程
  • 用vb制作topmost类型窗口_visualbasic教程
  • 用vb制作windows风格安装盘_visualbasic教程
  • 用vb制作常居上层的浮动工具箱_visualbasic教程
  • 用vb制作下雪的特技景象_visualbasic教程
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭