为了账号安全,请及时绑定邮箱和手机立即绑定

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

/ 猿问

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

holdtom 2019-08-27 17:33:46

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

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



查看完整描述

3 回答

?
慕仰8121524

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


查看完整回答
反对 回复 2019-08-27
?
Cats萌萌
  1. Start然后转到Find类型regedit- >它应该打开Registry editor

  2. 点击Right MouseHKEY_CLASSES_ROOT然后New- >Key

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

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

  5. 要测试它是否有效,请转到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();
        }
    }}

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


查看完整回答
反对 回复 2019-08-27
?
杨魅力

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

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


查看完整回答
反对 回复 2019-08-27
  • 3 回答
  • 0 关注
  • 151 浏览
我要回答
慕课专栏
更多

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信