본문 바로가기
알아두면 좋은 정보

사용자 커스텀 프로토콜 만들기

by AYAYz 2023. 8. 31.

가끔 보면 브라우저에서 "무슨무슨 앱으로 여시겠습니까?" 하면서 컴퓨터에 깔려있는 프로그램을 여는 경우가 있다.

간단하게 알아보려면 브라우저 콘솔에

window.open("calculator://");

를 실행해 보자 

이렇게 뜨면서 계산기를 열겠냐고 한다. 그럼 계산기가 열린다.

이게 어떻게 구현되어있는거냐 하고 조사해보니

레지스트리에 등록하는 거였다. 

HKEY_CLASSES_ROOT 에 들어가보자

쭈우우욱 내려가다보면 calculator 라는 녀석이 보인다. 

보면 안에 URL:calculator 와 URL Protocol 이라고 써있는 것이 보인다. 

딱봐도 이 녀석들이 관여되어 있는 것 같은데,,,,,,, 솔직히 저거 말고는 텅텅 비어있어가지고 뭘 어떻게 한 건지 모르겠다.

그래서 다른 예시를 살펴보았다.

window.open("kakaoopen://");

이 녀석이다.

이렇게 구현되어있다. 

똑같이 URL Protocol 이 있는 것은 보인다. 

shell, open 에는 별다른 내용이 없다. 

command에

"프로그램주소" "%1"

라고 적혀있다. 

지금까지 원래 있던 애들 바탕으로 분석을 해보았다.

직접 만들어보자!!!

이를 활용해서 한번 디스코드 프로토콜을 만들어보자

window.open("discordopen");

일단 실행해보면 없어서 뭐 없다고 나온다.

HKEY_CLASSES_ROOT 에 우클릭 해서 새로 만들기 -> 키 를 통해 discordopen을 만들고

discordopen 에다가 새로 만들기 해서 아래 사진처럼 쭉쭉 만들면 된다.

 

discordopen 에는 kakaoopen 에 있던 것 처럼 URL Protocol 이름을 만들어 놓자.

새로 만들기 -> 문자열 값 을 눌러서 하나 만들고

URL Protocol 이라고 해놓자.

그리고 command 에는 아까 봤던 것처럼 

"C:\ProgramData\js\Discord\app-1.0.9016\Discord.exe" "%1"

라고 해놓는다. 

그리고 레지스트리를 수정했으니 컴퓨터를 한번 다시 시작해주자.

그리고 이제???

window.open("discordopen://");

 

^~^!!!!!

잘된다~

 

근데 지금 보니까 Discord:// 라고 이미 있다 엉엉..

댓글