본문 바로가기
잡동사니

Windows 환경에서 Custom Uri Scheme 활용

by Vader87 2019. 9. 7.
반응형

Window 환경에서 브라우저를 통해 클라이언트 호출을 하게될 일이 생겼습니다.

다음의 방법을 이용하면 특정 URL을 이용해 Windows 환경에서 프로그램을 실행 시킬 수 있습니다.

 

Window 의 Custom URI Scheme 를 설정해 봅시다.

https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/platform-apis/aa767914(v=vs.85)

 

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/ 라는 인수 값이 찍힌 것을 알수 있습니다.

이를 이용해 웹을 통해 클라이언트를 원하는 설정 값으로 실행 할 수 있습니다.

반응형

'잡동사니' 카테고리의 다른 글

PowerToys  (0) 2020.10.26
게임 오픈 API 자료  (0) 2019.10.07
웹크롤링 불법? 합법?  (0) 2019.10.07
[NAS] XPEnology 전용 Telegram BOT - xpebot 설치  (0) 2019.05.11
스도쿠 DB 생성  (0) 2019.03.29

댓글