프로그래밍

레지스트리와 어플리케이션 연결

panpro 2007. 10. 23. 01:20

비베를 시작한지 얼마안되는 관계로 아래의 내용이 이미 있는지 모릅니다.

아래의 내용이 이미 모두 아시는 것이라면

관리자님이 삭제하셔도 될 듯합니다.



자신의 어플리케이션을 통해 만든 전용 파일을 더블클릭했을 경우

해당 어플리케이션이 실행되면서, 파일명을 인자로 받는 것까지 ...



저는 인스톨팩토리 레지스트리에서 첨가하였습니다.

배포시 프로그램이 인스톨되기전에 몇가지 정보를 레지스트리에 첨가되어야 하기에...



우리가 만든 어플리케이션이 아래와 같다고칩시다.

어플리케이션 명 : ABC.exe

확장자 : abc



첫번째 레지스트리 키


루트키 : HKEY_CLASSES_ROOT

서브키 : Application\ABC.exe\shell\open\command

값이름 : 안써도됨

값의형 : 문자열

값 : "C:\Program Files\설치시디렉토리\ABC.exe" "%1"


*실행파일명은 확장자까지 다 쓰셔야합니다.





두번째 레지스트리 키


루트키 : HKEY_CLASSES_ROOT

서브키 : abcfile\shell\open\command

값이름 : 안써도됨

값의형 : 문자열

값 : "C:\Program Files\설치시디렉토리\ABC.exe" "%1"


*위의 파일형은 자신맘대로 써주시면 됩니다. 예를 들면 파워포인트 문서 -> pptfile 뭐 이런식으로 써주시면 됩니다.






세번째 레지스트리 키


루트키 : HKEY_CLASSES_ROOT

서브키 : .abc

값이름 : 안써도됨

값의형 : 문자열

값 : abcfile(위에 썻던 파일형)


* 확장자는 꼭 앞에 .(dot)를 넣으셔야합니다.


이렇게 인스톨팩토리에 작성하여 레지스트리에 올라가도록 합니다.

".abc"확장자를 가진 파일들은 실행파일과 비슷한 아이콘으로 변경됩니다. 마치 ppt 파일이 파워포인트 아이콘과 비슷하게 변경되는 것처럼...




"***.abc"파일을 더블클릭할 경우 파일명과 경로를 인자로 받기 위해서


폼로드시나 엔트리 포인트에서

문자열 변수로

a = command()

하시면 파일명과 위치가 문자열로 넘어오게 됩니다.




중요한 점은 설치시 레지스트리에 위의 정보를 기록해야한다는 것과

실행시 command()를 통행 파일명 인자를 받는다는 것입니다.

출처 : Tong - onggi2000님의 언어 프로그램통