当前位置:  开发笔记 > 前端 > 正文

如何在Windows中注册自定义URL协议?

如何解决《如何在Windows中注册自定义URL协议?》经验,为你挑选了3个好方法。

如何在Windows中注册自定义协议,以便在单击电子邮件或网页中的链接时打开我的应用程序并将URL中的参数传递给它?



1> Matas Vaitke..:

    Start然后转到Find类型regedit- >它应该打开Registry editor

    点击Right MouseHKEY_CLASSES_ROOT然后New- >Key

在此输入图像描述

    在主要由给您想要的网址被称为(对我来说这将是小写的名称testus://sdfsdfsdf),然后点击Right Mousetestus- >然后New- > String Value并添加URL protocol没有价值.

在此输入图像描述

    然后像添加协议(Right Mouse New- > Key)一样添加更多条目,并创建层次结构,如testus- > shell- > open- > command并在内部command更改(Default).exe要启动的路径,如果要将参数传递给exe,则将路径包装到exe在""和添加"%1"看起来像:"c:\testing\test.exe" "%1"

在此输入图像描述

    要测试它是否有效,请转到Internet Explorer(不是ChromeFirefox)并输入testus:have_you_seen_this_man它应该解雇你.exe(给你一些提示你想要这样做 - 说是)并传入args testus://have_you_seen_this_man.

这是测试的示例控制台应用程序:

using System;

namespace Testing
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args!= null && args.Length > 0)
            Console.WriteLine(args[0]);
            Console.ReadKey();
        }
    }
}

希望这能为您节省一些时间.



2> Jonas Gulle..:

我认为这在MSDN中有所涉及,请参阅将应用程序注册到URL协议.


这适用于Windows上的所有浏览器.这是一个os级别的东西,而不是浏览器级别的东西.
我赞成,但请编辑答案,根据SO政策包含链接中的相关信息.谢谢!
我正在编写基于oauth的应用程序,MSDN中描述的过程与Mozilla Firefox和Opera完美配合(11.6)

3> MSalters..:

MSDN链接很好,但那里的安全信息不完整.处理程序注册应包含"%1",而不是%1.这是一种安全措施,因为在调用自定义协议处理程序之前,某些URL源会错误地解码%20.

PS.您将获得整个URL,而不仅仅是URL参数.但除了已经提到的%20->空间转换之外,URL可能会受到一些虐待.在URL语法设计中保守一点很有帮助.不要乱扔//或者你会陷入文件://的混乱.


文件没有正式映射:URL到本地路径.当路径引用Windows目录时,对使用两个或三个主斜杠或使用正斜杠和反斜杠都没有达成共识.
推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有