커스텀 브라우저 프로토콜로 응용프로그램 실행
(Custom Url Schemes in windows)
관련 자료
https://support.shotgunsoftware.com/hc/ko/articles/219031308
Official URI schemes
IANA(ICNN)에서 이미 여러 URI Scheme를 정의하고 관리하고 있다. http, mailto, magnet 외 다수가 있으며 상세 정보는 http://en.wikipedia.org/wiki/URI_scheme에서 확인할 수 있다.
Custom URI schemes
공식적으로 지정되고 관리되는 URI Scheme도 있지만 사용자가 직접 URI Scheme를 만들수도 있다. 대부분의 OS에서 URI Scheme을 직접 등록하고 설정할 수 있도록 지원하고 있으며 Andrond, iOS, Windows 등 시스템에 따라 각각 이를 등록하는 방법은 다르다.
Custom URI Scheme in Windows OS
Windows에서는 Registry를 편집함으로써 URI Scheme를 등록할 수 있다. 보다 자세한 Custom URI Scheme의 등록방법은 MS site에서 확인할 수 있으며 아래와 같은 절차로 등록 할 수 있다.
- 레지스트리 편집기에서 다음 위치에 [HKEY_CLASSES_ROOT]를 열어보면 시스템에 등록된 확장자 정보 또는 URI Scheme 정보들을 볼 수 있다.
- [HKEY_CLASSES_ROOT]의 하위에 "Key"를 추가하여 URI Scheme을 등록할 수 있다. 여기서 "Key"의 이름이 바로 스키마 명이 되게 된다.
- 여기서는 "test"라는 URI Scheme명칭을 등록해보도록 하겠다.
- 추가된 "Key"에 "String Value"를 추가하자.
- 이름은 [URL Protocol]으로 지정하고 값은 공백("")으로 한다. 이 [URL Protocol]을 통해서 시스템은 이 [Key]가 URI Scheme이라는 것을 식별하게 된다.
- 이제 URI Scheme를 통해 실행될 기능을 설정하기 위해 새로운 "Key"를 등록하자.
- "Key"의 이름은 [shell]로 지정하면 된다.
- 이제 실행될 동작에 해당하는 이름을 가진 "Key"를 추가하면 된다. 여기서는 프로그램을 실행하는 "open"이라는 "Key"를 [shell] 하위에 추가하도록 하겠다.
- [open]하위에 다시 [command] Key를 추가하고 [command] Key의 '(Default)' 항목을 더블클릭하자.
- [문자열 편집]창이 나타나면 값으로 실행할 Application을 지정하자. 여기선 경로 주위에 쌍따옴표를 붙여야 한다.
- 만약 프로그램 실행 시 매개변수를 넘기고 싶다면 Application Path 뒤에 한칸 뛰우고 "%1"을 추가하면(쌍따옴표 포함) URI값이 Application으로 전달되게 된다.
- 아래 그림과 같이 위에서 작성한 URI Scheme를 포함한 링크를 작성하여 테스트 해보자.
- 아래와 같이 위에서 지정한 Application이 잘 열리는 것을 확인할 수 있다.
'.Net Framework' 카테고리의 다른 글
[Firebase] C#에서 Firebase 사용하기 (0) | 2019.05.31 |
---|---|
CreateProcessAsUser 으로 다른 권한으로 실행하기 (0) | 2019.05.28 |
Refit: The automatic type-safe REST library for .NET Core, Xamarin and .NET (0) | 2019.05.10 |
ReactiveUI and the MVVM Pattern in WPF (0) | 2019.05.09 |
C# 난독화 - obfuscar (0) | 2018.01.11 |