Windows에서 사용자 지정 URL 프로토콜을 등록하려면 어떻게합니까?


답변:


65
  1. Start그런 다음 Find유형으로 이동 regedit-> 열어야합니다.Registry editor

  2. 클릭 Right MouseHKEY_CLASSES_ROOT다음 New->Key

여기에 이미지 설명 입력

  1. 키에서 URL을 호출 할 소문자 이름을 입력 한 다음 (내 경우에는 testus://sdfsdfsdf) -> 그런 다음 -> 를 클릭 Right Mouse하고 값없이 추가 합니다.testusNewString ValueURL protocol

여기에 이미지 설명 입력

  1. 그런 다음 프로토콜 ( Right Mouse New-> Key)에서 했던 것처럼 더 많은 항목을 추가 하고 testus-> shell-> open-> command와 같은 계층 구조를 만들고 시작하려는 경로의 내부 command변경 사항 은 매개 변수를 exe에 전달하려는 경우 경로를 exe로 래핑합니다. 에 와 추가 처럼 보이도록 :(Default).exe"""%1""c:\testing\test.exe" "%1"

여기에 이미지 설명 입력

  1. 작동하는지 테스트하려면 Internet Explorer( Chrome또는 Firefox아님)으로 이동하여 입력하십시오 ( testus:have_you_seen_this_man.exe작업을 수행하려는 프롬프트를 제공하십시오-Yes라고 말하십시오) 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();
        }
    }
}

이것이 시간을 절약하기를 바랍니다.


3
와우이게 작동합니다. IE뿐만 아니라 Chrome에서도 마찬가지입니다!
user1974566

36

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


5
(11.6) 나는 OAuth를 기반 응용 프로그램을 작성하고 MSDN에 설명 된 절차는 모질라 파이어 폭스와 오페라와 함께 완벽하게 작동
빅토르 Latypov

11
이것은 Windows의 모든 브라우저에서 작동합니다. 브라우저 수준의 것이 아니라 OS 수준의 문제입니다.
Andrew Dunkman 2013 년

7
나는 찬성했지만 SO 정책에 따라 링크의 관련 정보를 포함하도록 답변을 편집하십시오. 감사!
dotancohen

이를 지원하는 Windows 버전은 무엇입니까?
ᆼ ᆺ ᆼ jul.

21

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

추신. URL 매개 변수뿐만 아니라 전체 URL을 얻을 수 있습니다. 그러나 URL은 이미 언급 된 % 20-> 공간 변환 외에 약간의 잘못 처리 될 수 있습니다. URL 구문 디자인을 보수적으로 만드는 데 도움이됩니다. // 무작위로 던지지 마십시오. 그렇지 않으면 file : //이 엉망이 될 것입니다.


정확히 "파일 : //"이 무슨 뜻입니까?
Maleev

6
파일의 공식적인 매핑은 없습니다 : URL을 로컬 경로로. 2 ~ 3 개의 선행 슬래시를 사용하거나 경로가 Windows 디렉터리를 참조 할 때 정방향 슬래시와 역 슬래시를 사용하는 것에 대한 합의조차 없습니다.
MSalters

늦은 댓글, 알아요. 그러나 프로토콜 핸들러없이 URL 매개 변수 에만 액세스하는 것도 가능 합니까?
Danilo Bargen

2
별도의 질문처럼 들립니다. 그래도 조건을 정확히 이해하십시오. 프로토콜 핸들러는 URL을 수신하는 프로그램입니다. "프로토콜 핸들러없이"URL을 구문 분석하고 URL 매개 변수에 액세스 할 사람이 없습니다.
MSalters
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.