2014-11-06 51 views
2

注册开放自定义的URI我喜欢“开”(本地)定制URI女巫在Windows 8.1已经注册。 如果链接嵌入在HTML邮件中,我可以打开它。这是在Windows 8.1

<a href="cobra://goto/addresses/ID=5545"> 

和它在Windows资源管理器的工作原理:

眼镜蛇://转到/地址/ ID = 5545

的ID被发送给眼镜蛇应用。

我想这个URI发送到眼镜蛇应用程序与WebRequest的/ FileWebRequest/HttpWebRequest的没有任何成功。

string uriToLaunch = @"cobra://goto/addresses/ID=" + ID; 
Uri uri = new Uri(uriToLaunch); 
FileWebRequest WebReq = (FileWebRequest)WebRequest.Create(uri); 
WebReq.GetResponse(); 

错误:System.NotSupportedException:“无法识别URI前缀。”

第二个尝试后,我认识到URI与Windows资源管理器的工作:

File.Open(uriToLaunch, FileMode.Open); 

错误:System.NotSupportedException:“不支持给定路径的格式。”

任何建议怎么办呢?我不想构建自己的URI解析器,因为Windows知道如何处理它。

+0

我编辑了自己的冠军。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2014-11-06 14:39:56

回答

1

您可以通过调用Process.Start()

System.Diagnostics.Process.Start("uri://here"); 
+0

谢谢,工作正常! :-) – 2014-11-06 15:10:12

0

异常发生,因为你的URI字符串格式不正确运行在C#中自定义URI(你有两个前缀 - 网址:和眼镜蛇: )

尝试以下操作:

string uriToLaunch = @"cobra://goto/addresses/ID=" + ID; 
+0

是另一个尝试用“网址:眼镜蛇:......”,但不是问题。 – 2014-11-06 15:09:28

+0

对不起,我的不好答案,你也是对的。但是,tocsoft的答案解决了主要问题。 ;-) – 2014-11-07 07:10:58