扩展阅读:如何在IE工具栏中添加按钮(2)北京北大青鸟学校介绍,按下按钮后需要执行的相应动作:可以是COM对象、浏览条Explorer Bar、脚本Script、可执行文件。在上一篇介绍中,北京北大青鸟学校讲解了COM对象、浏览条Explorer Bar、脚本Script。下面我们再看一个比较有用的脚本,这段脚本的作用是得到当前地址,并打开此网址的首页。
<script>
--//userURL得到的是当前地址,例如是http://www.vckbase.com/article/controls/index.html
--userURL=external.menuArguments.location.href;
--protocolIndex=userURL.indexOf(://,4);
--serverIndex=userURL.indexOf(/,protocolIndex + 3);
--finalURL=userURL.substring(0,serverIndex);
--external.menuArguments.open(finalURL, _blank);///打开网址http://www.vckbase.com/
</script>
④可执行文件
假如我们想让IE在按下按钮后执行一个可执行文件, 你可以增加名为Exec的字串值,其值为此可执行文件的全路径,
例如c:windowsnotepad.exe或者是一个网址http://www.vckbase.com/index.html
下面由北京北大青鸟学校老师介绍一个简单的例子。
void CTestDlg::OnAddtool()
{
// TODO: Add your control notification handler code here
///这是由GUIDGEN产生的GUID:{06926B30-424E-4f1c-8EE3-543CD96573DC}
CRegKey reg;
char KeyName[]=SoftwareMicrosoftInternet ExplorerExtensions{06926B30-424E-4f1c-8EE3-543CD96573DC};
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({1FBA04EE-3024-11D2-8F1F-0000F87ABD16},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);///打开网页
}
在此例子中我们实现了一个按钮,点击它便会打开VC知识库首页。(北京北大青鸟学校)