超链接打开自定义的协议
想要IE或word点击超链接打开本地的EXE应用程序,这个怎么办?
比如点击这样的链接
<a href="vip:123-MonacoGP-19279-Senna">打开我的协议</a>
将打开我的EXE应用程序?
首先你要修改注册表,要让IE看的懂像href="vip:123-MonacoGP-19279-Senna" 这样的协议.
c#如何写注册表?
//写注册表 RegistryKey key = Registry.ClassesRoot.CreateSubKey("vip"); key.SetValue("", "URL:vip Protocol"); key.SetValue("URL Protocol",""); RegistryKey Subkey= key.CreateSubKey("DefaultICon"); Subkey.SetValue("", "exe文件路径"); Subkey = key.CreateSubKey("shell").CreateSubKey("open").CreateSubKey("Command"); Subkey.SetValue("","exe文件路径");
这段代码是在 注册表 HKEY_CLASSES_ROOT 下新建vip 的键
结构是这样的
HKEY_CLASSES_ROOT
vip
(Default) = "URL:vip Protocol"
URL Protocol= ""
DefaultIcon
(Default) = "c:\somepath\APPTest.exe"
shell
open
command
(Default) = "c:\somepath\APPTest.exe" "%1"
创建完以后当你点击这样(vip:123-MonacoGP-19279-Senna)的链接,就可以打开外部的自己定义的应用程序了.
当然winform 应用程序还可以接收你传过来的值
比如 EXE应用程序启动的时候接收链接传过来的 123-MonacoGP-19279-Senna字符串,你可以在winform 启动的时候捕获这个值
[STAThread] static void Main(string[] args) { if (args.Length > 0) { //arg[0]就是刚刚链接传过来的 // 赋值=arg[0]; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); }
如何给IE工具栏添加图标和按钮,菜单,打开自己的应用程序?
可以看看这篇
http://www.codeproject.com/useritems/CorKatIEExtension.asp
关于快速的操作注册表
你可以参考
http://www.codeproject.com/cs/system/quickregistry1.asp
本文来源http://www.codeproject.com/aspnet/APPHyperlinks.asp
//
上面所有链接文章的源代码下载地址