OS/Windows

[Windows] 브라우저에서 프로그램 실행하는 방법(Custom Uri Scheme)

노루아부지 2023. 2. 13. 13:38

인터넷을 하다 보면 URL 링크나 버튼을 누르면 프로그램이 실행되는 경우가 있습니다.

ActiveX도 이제 못쓰는데 어떻게 하는 것일까요?

결론은 모두 URI Scheme를 사용하는 것이었습니다.

 

URI Scheme

우리가 일반적으로 볼 수 있는 인터넷 주소 중 시작부터 ':'(콜론)까지의 정보가 URI Scheme입니다.

 

  • https://www.naver.com
  • ftp://192.168.0.1

기타 URI Scheme에 대한 정보는 여기에서 확인할 수 있습니다.

 

 

Custom URI Scheme

공식적으로 관리되는 URI Scheme 외에 사용자가 직접 URI Scheme를 만들 수도 있습니다. 대부분의 OS에서 URI Scheme를 직접 등록하고 설정할 수 있도록 지원하고 있으며 Andriod, iOS, Windows 등 OS에 따라 등록하는 방법은 다릅니다.

 

실제로 프로그램을 설치할 때마다 각 프로그램들은 자신만의 URI Scheme를 시스템에 등록합니다. 예를 들어 카카오톡을 깔면 kakaolink라는 URI Scheme가 시스템에 등록됩니다.

 

Custom URI Scheme를 Windows에서 등록하는 방법

Windows에서는 registry에 URI Scheme를 등록할 수 있습니다. 이것에 대한 공식 문서는 여기에 있습니다.

결론부터 말하면 registry에 다음과 같이 등록하면 됩니다.

HKEY_CLASSES_ROOT
   alert
      (Default) = "URL:Alert Protocol"
      URL Protocol = ""
      DefaultIcon
         (Default) = "alert.exe,1"
      shell
         open
            command
               (Default) = "C:\Program Files\Alert\alert.exe" "%1"

 

자세한 절차는 다음과 같습니다.

 

1) Windows key + R

2) regedit 입력

3) HKEY_CLASSES_ROOT에서 마우스 오른쪽 클릭 > 새로 만들기 > 키 선택

4) URL Scheme로 사용할 값 입력(여기서는 alert)

5) 추가된 키 문자열 값 URL Protocol 추가 (value는 공백(""))

 

6) alert > shell > open > command를 추가

7) command의 기본값에 실행될 프로그램의 경로를 입력

  • 경로의 앞뒤로 쌍따옴표를 붙여야 합니다. 만약 실행 시 매개변수를 넘기고 싶다면 경로 뒤에 한 칸 띄우고 "%1"를 추가합니다.

 

 

동작 확인

1) 다음과 같이 html문서를 작성

<html>
  <body>
    <a href="alert://helloworld">실행</a>
  </body>
</html>

 

2) 브라우저에서 "실행" 클릭

 

3) alert창에서 "열기" 버튼 클릭

 

4) 프로그램 실행 확인

"%1"가 없으면 프로그램이 잘 실행되지만 "%1"이 있는 경우 다음과 같은 오류가 발생하는 것을 확인할 수 있습니다.

 

 

URL Scheme에서 parameter 처리 방법

링크 주소가 alert://helloword 일 때, alert은 URL Scheme이고, helloword가 파라미터일 것 같은데 실제로는 파라미터가 아래와 같이 호출됩니다.

notepad++.exe alert://helloworld

즉, 링크 전체 주소가 파라메터로 전달되기 때문에 이것을 가공하여 처리해야 합니다.

 

 

 

 

[참고 사이트]

https://nsinc.tistory.com/77

 

Custom URI Scheme 만들기

인터넷을 하다가 URL 링크가 특정 어플리케이션과 연결되는 경우가 있다. 어떻게 이걸 구현했을까 정보를 찾아 여기에 정리하였다. 모두 URI Scheme를 통해서 구현하는 것이었고 구현도 생각보다

nsinc.tistory.com

https://ukprog.tistory.com/35

 

Windows 환경에서 Custom Uri Scheme 활용

Window 환경에서 브라우저를 통해 클라이언트 호출을 하게될 일이 생겼습니다. 다음의 방법을 이용하면 특정 URL을 이용해 Windows 환경에서 프로그램을 실행 시킬 수 있습니다. Window 의 Custom URI Schem

ukprog.tistory.com

 

728x90
loading