打开在Windows 8.1中注册的自定义URI

本文关键字:注册 自定义 URI Windows | 更新日期: 2023-09-27 18:29:29

我想"打开"一个(本地)自定义的URI交换机,该交换机已在Windows 8.1中注册。如果链接嵌入在HTML邮件中,我可以打开它。

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

它在Windows资源管理器中工作:

cobra://goto/addresses/ID=5545

ID被发送到Cobra应用程序。

我试图通过WebRequest/FileWebRequest/HttpWebRequest将此URI发送到Cobra应用程序,但没有成功。

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知道如何处理它

您可以通过调用Process.Start() 从C#运行自定义URI

例如

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

打开在Windows 8.1中注册的自定义URI

发生异常是因为uri字符串的格式不正确(有两个前缀-url:和cobra:)

尝试以下操作:

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