Windows 환경에서 Custom Uri Scheme 활용
Window 환경에서 브라우저를 통해 클라이언트 호출을 하게될 일이 생겼습니다.
다음의 방법을 이용하면 특정 URL을 이용해 Windows 환경에서 프로그램을 실행 시킬 수 있습니다.
Window 의 Custom URI Scheme 를 설정해 봅시다.
Registering an Application to a URI Scheme (Windows)
Registering an Application to a URI Scheme 07/13/2016 5 minutes to read In this article --> The About Asynchronous Pluggable Protocols article describes how to develop handlers for Uniform Resource Identifier (URI) schemes. In some cases, it may be desirab
docs.microsoft.com
아래와 같은 형식으로 HKEY_CLASSES_ROOT 안에 키 값을 생성해 줍니다. 경로는 꼭 HKEY_CLASSES_ROOT 가 아니어도 상관없지 않을까 싶습니다. 여기서 가장 상위 키 값의 이름이 URI Host 명이 됩니다. 예제의 URL은 Dev:// 로 시작하게 됩니다.
가장 상위 키에 URL Protocol 이라는 키 값을 추가해 줍니다.
가장 마지막 키인 command 안에 기본값을 편집해 실행하고자 하는 파일의 경로를 적어 줍니다. 여기서 명령줄 인수를 추가하고자 하면 경로뒤 공백을 추가하고 "%1" 을 추가해 줍니다.
간단하게 테스트할 html 코드와 javascript 코드를 작성합니다.
우선 버튼이 달린 간단한 html 코드 입니다.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
</head>
<body>
<input type="button" name="btn1" id="connect" value="Connet">
<script type="text/javascript" src="connect.js"></script>
</body>
</html>
다음은 버튼을 이용해 프로그램을 실행시켜 줄 javascript 코드 입니다.
var connect = document.getElementById('connect');
connect.addEventListener('click', function()
{
location = "Dev://customurischeme"
})
html 을 실행하고 버튼을 눌르면 다음과 같이 실행할 건지 묻는 팝업이 하나 뜹니다. 참고로 저는 chrome 브라우저를 사용해 테스트 했습니다.
열기를 눌러주면 클라이언트가 실행됩니다.
미리 명령줄 인수 값을 확인할 수 있게 준비해둔 클라이언트 입니다.
웹에서 호출한 것과 같이 dev://customurischeme/ 라는 인수 값이 찍힌 것을 알수 있습니다.
이를 이용해 웹을 통해 클라이언트를 원하는 설정 값으로 실행 할 수 있습니다.