it-swarm-ko.tech

Windows에서 사용자 정의 URL 프로토콜을 등록하는 방법

전자 메일이나 웹 페이지의 링크를 클릭 할 때 응용 프로그램이 열리고 URL의 매개 변수가 전달되도록 Windows에 사용자 지정 프로토콜을 등록하려면 어떻게해야합니까?

50
lukeck

MSDN에서 다루고 있다고 생각합니다. RL 프로토콜에 응용 프로그램 등록 을 참조하십시오.

27
Jonas Gulle
  1. Start로 이동 한 다음 Find에서 regedit->를 입력하면 Registry editor가 열립니다.

  2. 딸깍 하는 소리 Right MouseHKEY_CLASSES_ROOT에서 New-> Key

enter image description here

  1. 키에서 URL을 호출 할 소문자 이름을 지정하십시오 (제 경우에는 testus://sdfsdfsdf입니다). Right Mousetestus-> 다음 New-> String Value에서 값없이 URL protocol를 추가하십시오.

enter image description here

  1. 그런 다음 프로토콜에서와 같이 더 많은 항목을 추가하십시오 ( Right MouseNew-> Key) 및 testus-> Shell-> open-> commandcommand 내부에서 (Default).exe를 실행하려는 경로로 변경하십시오. 매개 변수를 exe로 전달하려면 """%1"를 추가하여 다음과 같이 표시하십시오. "c:\testing\test.exe" "%1"

enter image description here

  1. 작동하는지 테스트하려면 Internet Explorer (Chrome 또는 Firefox가 아님)로 이동하여 testus:have_you_seen_this_man를 입력하십시오. 그러면 .exe가 실행됩니다 (기부하십시오) 이 작업을 수행하라는 프롬프트가 표시됩니다 (예)라고 말하고 인수 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();
        }
    }
}

시간이 절약되기를 바랍니다.

25

MSDN 링크는 훌륭하지만 보안 정보가 완전하지 않습니다. 처리기 등록에는 % 1이 아니라 "% 1"이 (가) 있어야합니다. 일부 URL 소스는 사용자 지정 프로토콜 처리기를 호출하기 전에 % 20을 잘못 디코딩하기 때문에 보안 조치입니다.

추신. URL 매개 변수뿐만 아니라 전체 URL을 얻게됩니다. 그러나 이미 언급 된 % 20-> 공간 변환 외에 URL에 약간의 오차가 생길 수 있습니다. URL 구문 디자인을 보수적으로 유지하는 데 도움이됩니다. // 무작위로 던지지 마십시오. 그렇지 않으면 file : //이라는 혼란에 빠질 것입니다.

19
MSalters