웹브라우저에서 프로그램 실행하기
토렌토 사이트에서 토렌토 링크를 클릭하면 내 PC에 설치된 토렌토 프로그램이 실행되는 것을 보고 어떻게 ActiveX없이 구현한건지 찾아봤음
URI Scheme
확인해보니 URI Scheme를 이용해서 동작시키는 방식이었다!!
(URI Scheme는 인터넷 주소에서 콜론(:)까지의 정보를 말합니당)
이 URI Scheme는 대부분의 OS에서 직접 등록하고 설정할 수 있으나, OS마다 등록하는 방법은 다르다고 함....왜 굳이....통일 좀 시키지....
나는 Windows에서 한번 등록시켜서 동작 시켜봄.
URI Scheme 등록 방법
등록 방법은 어렵지 않음. 그냥 registry에 값을 넣어주면 됨. (자세한건 여기)
1. 실행창이나 검색창에서 regedit를 실행 하고
2. HKEY_CLASSES_ROOT에서 마우스 오른쪽 클릭 > 새로 만들기 > 키 생성(이 키이름이 나중에 URI Scheme 명으로 사용됨). 난 testURI 이름으로 생성함
3. 추가된 키에 문자열 값 추가. 이름은 URL Protocol로 하고 안에 데이터는 빈값으로
4. 여기서 이제 추가로 키를 더 생성해줌. (shell \ open \ command).
즉 testURI(이건 내가 지정한 이름) \ shell \ open \ command 이런 식으로
5. 그리고 command키에 있는 (기본값)의 데이터에 실행할 프로그램 경로를 넣어줌
경로 앞뒤로 쌍따옴표("") 들어가야 함!! 그리고 실행할 때 파라미터 전달하고 싶으면 경로 뒤에 한칸 띄워서 "%1" 추가하면 됨
이러면 등록 끝!!
동작 테스트
웹브라우저 주소창에 내가 만든 URI Scheme 이름을 입력하면 됨. 초간단. 내가 만든 이름은 testURI이니까 뒤에 :// 까지 붙여서 실행해주면
요렇게 팝업이 뜨고 열기를 클릭하면 엑셀이 실행된다아~
추가적으로 엑셀에 파라미터를 전달해서 기존에 존재하는 문서를 열어볼까 했는데....
아래처럼 에러가 남
파라미터를 전달하게 되면 뒤에 있는 파라미터값만 가는 것이 아닌 URI Scheme까지 파라미터로 같이 전달되는 것을 확인할 수 있었다.....내가 브라우저에 입력하는 링크 주소 전체가 파라미터로 전달되기 때문에 파라미터 전달하는 기능은 아예 프로그램을 직접 만들어서 받은 파라미터를 잘라내서 사용하도록 해야할 듯....!!

'IT' 카테고리의 다른 글
NOVNC Directory Listing 끄기 (0) | 2024.03.15 |
---|---|
Linux grep 명령어 And, Or, Not 조건 사용 (0) | 2024.03.07 |
C# Registry (기본값) 읽기/쓰기 (2) | 2024.03.05 |
Apple, 강력한 M3 칩을 탑재한 새로운 MacBook Air 13 및 15 공개 (0) | 2024.03.05 |
Linux 서버 상태 확인하기 (0) | 2024.03.04 |
댓글