Front/JavaScript

[JavaScript] 웹(Chrome)에서 응용 프로그램 실행 시키기 : Registry 이용한 Custom URL schemes 방식 호출

헹창 2022. 1. 12.
반응형

[JavaScript] 웹(Chrome)에서 응용 프로그램 실행 시키기 : Registry 이용한 Custom URL schemes 방식 호출


 

만약 프로젝트를 각 PC 배포하여 사용한다면 사용자의 레지스트리를 수정할 필요없이 Java로 간단히 해결되니, 그런 경우는 아래 게시글을 참고하자.

 

[Java] 윈도우 cmd 명령어 실행 : Java로 실행파일 실행시키기 응용

[Java] 윈도우 cmd 명령어 실행 : Java로 실행파일 실행시키기 응용 1. Java에서 cmd 명령어 실행 Java의 Runtime 클래스를 이용하여 cmd 명령어를 실행할 수 있다. Runtime.getRuntime().exec("cmd /c "..

haenny.tistory.com

 


 

웹에서 응용프로그램(.exe)를 실행시키는 방법을 살펴보자.

 

보통  ActiveX 를 이용하여 응용프로그램을 실행시키지만, 해당 방식은 IE에서 사용이 가능하다.

IE를 지양하는 추세이기에 오늘은 Chrome에서의 실행방법을 살펴볼 것이다.

 

만약 IE 브라우저에서 사용해야한다면 아래 게시글을 참고하자.

 

Javascript 로컬 파일 실행, 윈도우 프로그램 실행하기 ActiveXObject

Javascript 로컬 프로그램, 윈도우 프로그램 실행하기 ActiveXObject 고객요청사항으로 돋보기 같은 기능을 구현해 달라는 요청을 받았습니다... 이미지 돋보기는 여타 많은 쇼핑몰 사이트에 구현이 되

aljjabaegi.tistory.com

 


 

1. 레지스트리(Registry) 에 실행시킬 응용 프로그램 경로를 설정한다.

 

1) 레지스트리 실행

[Window + R] 실행 후 regedit 실행

 

 

2) 호출 URL에 들어갈 APP명으로 키 생성

HIKEY_CLASSES_ROOT - 우클릭 - 새로만들기 - KEY (test)

 

HKEY_CLASSES_ROOT 키 새로만들기

 

3) 생성한 KEY(test)에 문자열 등록

KEY 우클릭 - 새로 만들기 - 문자열 값

생성한 문자열 값의 "이름"을 URL protocol 로 수정한다.

 

 

4) 하위 KEY 생성

KEY(test) 하위에 동일한 방법으로 shell - open- command 순으로 하위 키를 생성한다

 

 

5) KEY(command)의 (기본값) 문자열 값 수정

 

기본값 항목의 데이터를 "응용프로그램 절대경로" "%1" 로 수정한다.

"C:\ULSAN_BIS\VNC\vnc-viewer.exe" "%1"

 

"%1" 은 응용 프로그램 실행 시 args[]에 들어가는 인자값으로 지정하되, 호출 시 사용하지 않아도 무방하다.

 

 

 

 

2. 웹에서 지정된 레즈스트리(Registry)를 바라보는 URL을 호출하여 실행시킨다.

 

1) html 코드

// href="레지스트리KEY명://"
<a href="test://">실행</a>

// 인자값을 넘기는 경우 (VNC.exe 파일 실행하면서 접속하려는 서버와 포트를 인자 값으로 넘김)
<a href="test://127.0.0.1:5900">실행</a>

 

 

 

3. 결과

 

Registry 등록할 때, 인자 값 설정부분을 빼고 하면 아래처럼 실행이 잘된다.

 

 

 

하지만 인자 값 설정("%1")을 하고 실행을 시키게되면, 실제로 인자 값을 넘기든 안넘기든 실행되지 않았다.

결과는 RealVNC 구버전, 최신버전 모두 마찬가지였다.

 

RealVNC 구버전 실행 실패
RealVNC 최신버전 실행 실패

 

이 경우의 해결방안은 다음 포스팅으로 오겠다...

 

[JavaScript] Custom URL schemes 방식의 VNC 응용프로그램 (서버IP 인자 값 넘기며) 호출

[JavaScript] Custom URL schemes 방식의 VNC 응용프로그램 (서버IP 인자 값 넘기며) 호출 방안 Custom URL Schemes 방식의 호출에 대한 자세한 설명은 아래 게시글을 참고하자. [JavaScript] 웹(Chrome)에서 응용..

haenny.tistory.com

 

728x90
반응형

댓글

추천 글