2017-02-27 5 views
-2

사용자 지정 URI 체계와 함께 열 수있는 자체 파일 형식이있는 응용 프로그램의 설치 관리자를 만들고 있습니다. launcher.bat으로 실행 된 응용 프로그램, 레지스트리에서 나는 launcher.bat을 그렇게 설정했습니다. launcher.bat 대신 exporer 및 브라우저에서 응용 프로그램을 여는 것으로 표시되도록 응용 프로그램 이름을 등록하려는 경우가 아니라면이 방법을 사용해야합니다.Windows 레지스트리 - 파일 형식을 여는 응용 프로그램을 등록하십시오.

설치 스크립트에 의해 적용되는 레지스트리 파일 (가 동적으로 생성됩니다이다 , 그래서뿐만 아니라 응용 프로그램 경로 상관 없어) 다음이다 :

Windows Registry Editor Version 5.00 

; ---- Add myext extension 
[-HKEY_CLASSES_ROOT\.myext] 

[HKEY_CLASSES_ROOT\.myext] 
"content-type"="application/myext+xml" 
@="myapp" 


; ---- Add myapp for protocol 
[-HKEY_CLASSES_ROOT\myapp] 

[HKEY_CLASSES_ROOT\myapp] 
@="URL:tahuna Protocol" 
"URL Protocol"="" 

[HKEY_CLASSES_ROOT\myapp\DefaultIcon] 
@="MyApplication.exe,1" 

[HKEY_CLASSES_ROOT\myapp\shell] 
@="open" 

[HKEY_CLASSES_ROOT\myapp\shell\open] 
@="Open with My Application" 

[HKEY_CLASSES_ROOT\myapp\open\command] 
@="\"C:\\Program Files (x86)\\My Application\\launcher.bat\" \"%1\"" 

내가 또 뭘 추가해야 그렇게하려면 레지스트리에?

+0

실제 문제는 무엇입니까? – Anders

답변

0

는 파고의 몇 일 후, 나는 해결책을 발견 :

레지스트리 위의 실행 (또는 실행)를 엽니 다에 확장자를 할당하지만, OS는 관련 등의 실행 파일 이름을 보여줍니다 프로그램 - 등록되지 않았으므로 괜찮습니다. 이 파일은 exprorer에서 파일을 마우스 오른쪽 단추로 클릭하고 URI 스키마가 등록되어있을 때 브라우저에서 열어 선택할 때와 연관된 파일의 속성 창에 표시 될 수 있습니다.

이렇게하려면 응용 프로그램을 레지스트리에 등록해야합니다. 인터넷을 파고 들자 마침내 MSDN에있는 추가 레지스트리가 변경됩니다.

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\Applications\MyApplicationLauncher.bat] 
FriendlyAppName = "My Application" 
DefaultIcon = "<MyApplicationPath>\MyApplication.exe,1" 

참고 launcher.bat 또는 start.bat 충돌이 발생할 수 있습니다와 같은 응용 프로그램 이름을 사용하여; 고유성을 증명하기 위해 설치 프로그램 패키지에서 이름을 지정하여 식별해야했습니다.

1

성 당신의 유형 :

ftype <anyName>=<application-path> 

당신의 이름으로 각 브래킷에있는 모든 이름 바꾸기 :

<ext>을 :

assoc .<ext> <anyName> 

그리고 열려면 프로그램을 설정 한 확장

<anyName> : 이름, 여기서 w 당신이 사용할 프로그램을 알고 있다면, assoc 여러 번 다른 확장자로 복수 번

<application-path> : 열 프로그램의 파일 이름.

+0

고마워, 그것은 그대로 작동하지만, 그것은 나를 위해 mandaroty입니다 – Caiwan