blogjava's web log

blogjava's web log
...

超链接打开自定义的协议

想要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

//

上面所有链接文章的源代码下载地址

http://www.blogjava.net/Files/wujun/APPTest.rar

//END

posted on 2007-03-30 08:28 record java and net 阅读(4892) 评论(4)  编辑  收藏

评论

# re: 超链接打开自定义的协议 2007-05-28 15:36 wuyisky

有没有C#版的 看不洞java  回复  更多评论   

# re: 超链接打开自定义的协议[未登录] 2007-05-29 00:46 jinglecat

这不就是C++++的?  回复  更多评论   

# re: 超链接打开自定义的协议 2007-05-29 22:13 wuyisky

没细看,怎么跑到blogjava中了,应该在cnblogs中呀,谢谢,文章不错,我要的  回复  更多评论   

# re: 超链接打开自定义的协议 2007-05-29 23:11 wuyisky

今天把你的程序调试了一下,真行,我很高兴呀,我在一个月前就在找这个东西了,不过一开始调试的时候提示对注册表的访问被拒绝,是asp.net的两个用户没有权限写注册表。然后我在注册表中添加了该两用户的写权限,就可以了。


问一下,用程序怎么给两用户加写注册表的权限?   回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
 

导航

常用链接

留言簿(44)

新闻档案

2.动态语言

3.工具箱

9.文档教程

友情链接

搜索

最新评论