2011-12-30 2 views
0

Windows에서 내 프로그램의 파일 확장명을 인식하려고하지만 평소와 같이 운이 좋지는 않습니다. 파일 연결 설정

내가 뭐하는 거지입니다, 알려 주시기 바랍니다 어디 또는 내가 무엇을 잘못하고있는 중이 야 - 내가 레지스트리 위치가있을 수 있습니다 또는 잘못 설정 네이밍 생각 :

샘플 이름

MyProg.exe = The name of the program. 
%InstallPath% = Where the program will be installed. 
.ext1 = 1st File Extension. 
.ext2 = 2nd File Extension. 
.ext3 = 3rd File Extension. 

을 레지스트리 위치 (내가 추가 한 곳)

HKEY_CLASSES_ROOT\.ext1 
HKEY_CLASSES_ROOT\.ext2 
HKEY_CLASSES_ROOT\.ext3 

HKEY_CLASSES_ROOT\.ext1\DefaultIcon,2 
HKEY_CLASSES_ROOT\.ext1\shell\open\command\%InstallPath%\MyProg.exe %1 

그 :(

파일 이미지

나는 XE IDE 자료 메뉴에서 3 개 아이콘 파일을 추가 한 후 오프 손실, 그리고 그들 2,3,4라는 이름의. 1이라는 아이콘이 있으면 프로젝트 아이콘을 덮어 쓸까요?

내 프로그램을 본 적이없는 컴퓨터에서 Inno Setup과 같은 설치 프로그램을 사용하기 전에 제대로 작동하고 싶습니다 (설치가 완벽했는지 확인하기 위해). .

내가 가이드 :(

+0

당신은 다른 [질문]로 허용 대답에 가이드 (http://stackoverflow.com/questions/6704222/how-을 따라하기가 아주 쉽게이 처리 - 파일 - 연관 - 응용 프로그램). 그것으로부터 누락 된 유일한 것은 프로 시저 호출 ('cMyFileType'은 첫 번째 인스턴스에서'MyProgExt1'이 될 수 있고,'cMyDescription'는'My Program File Type 1'이 될 수 있습니다)에 매개 변수로서 제공해야 할 것입니다. 이러한 값을 확장 형식 인'.ext1 '과 함께 매개 변수 대신 코드에 넣으면 어떤 순서로해야하는지 정확히 알 수 있습니다. –

+0

나는 그것에 대해 잊었다! 음, 정확한 아이콘에 관해서는, 나는 2,3,4와 같은 단지 가지고있는 자원을 지칭합니까? –

+0

마지막 코멘트를 이해할 수 없습니다. 이전 질문의 예제 코드는 아이콘을 다루는 방법도 보여줍니다. –

답변

5

당신은 잘못된 레지스트리 키를 설정에 따라 어떤 쉽게 찾을 수 없습니다 당신은 다음과 같이 앱으로 ProgID가 연결, ProgID가 함께 파일 확장자를 연결해야합니다 :

HKEY_CLASSES_ROOT\.ext1 
(Default) = "ext1File" 

HKEY_CLASSES_ROOT\.ext2 
(Default) = "ext2File" 

HKEY_CLASSES_ROOT\.ext3 
(Default) = "ext3File" 

HKEY_CLASSES_ROOT\ext1File\DefaultIcon 
(Default) = "%InstallPath%\MyProg.exe,2" 

HKEY_CLASSES_ROOT\ext1File\shell\open\command 
(Default) = ""%InstallPath%\MyProg.exe" "%1"" 

HKEY_CLASSES_ROOT\ext2File\DefaultIcon 
(Default) = "%InstallPath%\MyProg.exe,3" 

HKEY_CLASSES_ROOT\ext2File\shell\open\command 
(Default) = ""%InstallPath%\MyProg.exe" "%1"" 

HKEY_CLASSES_ROOT\ext3File\DefaultIcon 
(Default) = "%InstallPath%\MyProg.exe,4" 

HKEY_CLASSES_ROOT\ext3File\shell\open\command 
(Default) = ""%InstallPath%\MyProg.exe" "%1"" 

하는 자세한 내용은 다음 문서 읽기 : 참고로

File Types and File Associations

을, 당신은 영장해서는 안 직접 데이터를 HKEY_CLASSES_ROOT으로 보내십시오. 사용자 단위 또는 컴퓨터 전역 등록 중 원하는 것을 따라 HKEY_CURRENT_USER\Software\Classes 및/또는 HKEY_LOCAL_MACHINE\Software\Classes 중 하나를 쓰십시오. 그 이유에 대한 자세한 내용은 다음 설명서를 참조하십시오. 그것은 나에게 보인다

HKEY_CLASSES_ROOT Key

Merged View of HKEY_CLASSES_ROOT

+0

경고를 주셔서 감사합니다, 나는 모든 사용자 또는 단일 사용자를 위해 설치하는 옵션이있을 것입니다, 그래서 나는 HKEY_CURRENT_USER 루트를 사용하고 모든 사용자는 HKEY_LOCAL_MACHINE 루트를 사용할 것입니다. 레미 감사합니다. –