C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[29004] URL PROTOCOL 레지스트리 등록후 사용방법 문의
BEAT [beat] 2454 읽음    2004-03-10 22:09
안녕하세요?

당나귀를 사용하다 보니 갑자기 궁금한점이 생겨서 문의 드립니다.
당나귀를 보면 ed2k:// 같이 자체 URL 프로토콜을 정의하여 쓰고 있습니다.

ed2k:// 에 대한 정의는 Windows 레지스트리에 정의하여 사용하는것은 알고 있습니다.
MSDN의 관련 예제를 보면 아래와 같이 등록해 주면 됩니다만..

[HKEY_CLASSES_ROOT]
    [note]
        (Default) = "URL:Note Protocol"
        URL Protocol = ""
        [DefaultIcon]
            (Default) = "notepad.exe"
        [shell]
            [open]
                [command]
                    (Default) = "c:\windows\notepad.exe %1"

제가 궁금한것은 저 방식을 사용할때
현재 해당 프로그램이 실행중이라면, 그 프로그램을 다시 띄우지 않고
현재 띄워져있는 프로그램에 어떻게 인자를 전달하느냐 입니다.

가령, 제가 레지스트리에 정의한 프로토콜이 test:// 라는 프로토콜이고
그 연결 프로그램은 [c:\gogogo.exe %1] 와 같이 정의했다고 했을때

test://testdata

와 같은 링크를 통해 사용자가 클릭을 했을 경우에 현재 해당 프로그램이
실행중이지 않다면 c:\gogogo.exe 를 실행하면서 첫번째 인자로 testdata 라는 문자열을
넘겨주게 되겠지요?

이 첫번째 실행에서 인자를 받아오는것은 ParamStr등의 변수를 이용하여
가져오는것은 알겠습니다.

그렇다면, 두번째 실행 명령이 전달됐을때
다시 gogogo.exe 를 띄우지 않고, 이미 실행중인 gogogo.exe 프로세스에
어떻게 인자를 넘겨주며, 또 넘겨줄수 있을 경우 gogogo.exe 프로세스에서는 어떤 이벤트로
받아와야 하는지 매우 궁금합니다.

이방식을 잘 이용하면, 폼 디자인시 HTML관련 컴포넌트를 사용하여
디자인 자체를 HTML로 할수도 있을것 같습니다.

바쁘시지 않다면 작은 조언 기다리고 있겠습니다.
감사합니다.

+ -

관련 글 리스트
29004 URL PROTOCOL 레지스트리 등록후 사용방법 문의 BEAT 2454 2004/03/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.