写注册表,把协议和程序路径写入注册表
void CTestDlg::RegIEProtocol(CString strProName,CString strPath)
{
HKEY hSubKey;
DWORD lpdw;
RegCreateKeyEx(HKEY_CLASSES_ROOT,strProName.GetBuffer(0),0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&hSubKey,&lpdw);//REG_OPTION_NON_VOLATILE:保存,重启还在;REG_OPTION_VOLATILE:不保存,重启不在。
CString strPname = strProName + "Protocol";
RegSetValueEx(hSubKey,"",0,REG_SZ,(LPBYTE)strPname.GetBuffer(0),strPname.GetLength());
RegSetValueEx(hSubKey,"URL Protocol",0,REG_SZ,(LPBYTE)strPath.GetBuffer(0),strPath.GetLength());
HKEY iconKey;
CString strIconStr = strPath + ",1";
RegCreateKeyEx(hSubKey,"DefaultIcon",0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&iconKey,&lpdw);
RegSetValueEx(iconKey,"",0,REG_SZ,(LPBYTE)strIconStr.GetBuffer(0),strIconStr.GetLength());
RegCloseKey(iconKey);
HKEY shellKey;
RegCreateKeyEx(hSubKey,"shell",0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&shellKey,&lpdw);
HKEY openKey;
RegCreateKeyEx(shellKey,"open",0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&openKey,&lpdw);
HKEY commandKey;
RegCreateKeyEx(openKey,"command",0,NULL,REG_OPTION_NON_VOLATILE,KEY_WRITE,NULL,&commandKey,&lpdw);
CString str = "\"" + strPath + "\" \"%1\"";
RegSetValueEx(commandKey,"",0,REG_SZ,(LPBYTE)str.GetBuffer(0),str.GetLength());
RegCloseKey(hSubKey);
}
调用:
RegIEProtocol("test","D:\\work\\temp\\activctest\\ocxApp\\TSTCON32.EXE");
IE地址栏中输入:test://
即可启动TSTCON32.EXE
分享到:
相关推荐
个人资源暂时保存. 设计目的为通用(IE/Command) 客户端程序更新(启动)服务.只完成了自定义协议部分. thanks.
例如页面实现启动本地QQ,淘宝旺旺程序功能。
利用Delphi编写IE扩展 在自己的程序中使用过WebBrowser控件的朋友都知道,WebBrowser控件定义了诸如BeforeNavigate、DownloadComplete 等事件,我们可以通过编写事件处理代码实现对WebBrowser控件的操作。那么如何...
用delphi开发的,针对IE5、6、7的脚本扩展程序,不仅仅能扩展主文档,也能对iframe内文档进行扩展,解决访问指定文档内容的需求
IE看源程序 IE看源程序 IE看源程序 内有说明!
你可以不用再另外打开IE访问只能在IE中访问的网站并运行ActiveX控件。 这个扩展只支持Windows. 这个扩展支持Chrome 6 以及更高的版本 *在Chrome浏览器中用多标签的IE *In-Chrome Process and Separate Process ...
兼容IE和火狐JS父窗口调用iframe里面的对象、函数的方法
IE10_11无法启动V2.04.1,帮你一键解决IE10和IE11无法启动的问题
联想工程师专用小工具 IE10_11无法启动V2.04.1联想工程师专用小工具 IE10_11无法启动V2.04.1联想工程师专用小工具 IE10_11无法启动V2.04.1联想工程师专用小工具 IE10_11无法启动V2.04.1联想工程师专用小工具 IE10_11...
trixie IE扩展插件 IE插件 开发扩展自己的ie的插件 类是google浏览器的插件
IEbug、IE6页面问题、IE6样式问题
解决某些.exe的电子书在IE7下打不开。将.exe的电子书直接拖到电子书For IE7 自动转换程序.exe上即可。
IE8升级程序
Ie11安装程序,包含X86和x64位两种安装程序。
均会显示 IE已合并进Edge浏览器的提示,但是需要使用IE登录网银的用户,就无法正常打开IE浏览器,设置Edge的那个兼容模式后依旧不能正常打开网银业务类网站,下载使用取消IE跳转至Edge浏览器脚本程序后执行即可解决...
Internet Explorer 11 将于 2022 年 6 月 15 日停用 Microsoft Edge 是唯一一款对旧版网站和应用具有内置兼容性的浏览器。 EDGE怎样兼容IE的网站访问,以下是切换方法 ...扩展(不支持与 IE 页面内容直接交互的扩展)
三菱FX5U可编程控制器与三菱MR-JE-_C伺服,通过网线用 CC-Link IE协议进行16轴控制的案例。
易语言IE扩展菜单源码,IE扩展菜单
拦截任何通过ie启动的程序 ,到路口就发卡洛斯的房间里所打开附件。