예, 직접 레지스트리 조작으로 스크립트를 작성할 수 있습니다.
짧은 대답
로 다음의 각 복사 .reg
파일 (예 : firefox.reg
, chrome.reg
, ie.reg
)와 스위치 (또는 스크립트로 할 때 그들을 실행 reg.exe
).
Firefox의 경우 :
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="FirefoxURL"
Chrome의 경우 :
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="ChromeHTML"
IE9의 경우 :
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="IE.HTTP"
긴 대답
Windows는 사용자 별 표준 프로토콜 기본 등록을 UrlAssociations
키 아래에 저장합니다 .
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations
파일 연결과 마찬가지로 링크에 대한 "기본 프로그램"이있을 수 있습니다. 이 참조가 그와 같은 전문 용어 용어입니다 UserChoice
세 이하 표준 파일 연결과 같은 쉘 등록도 키 -이 http
수 PROGID 도 변경할 수는 있지만, 브라우저 근위 구성이에 추가 코멘트 하단을 참조 (기본 프로그램을 통해입니다 ).
내가 여기서 말하는 것은 제어판의 기본 프로그램 섹션으로 이동하여 브라우저를 설정할 때 변경하는 것입니다.
이것을 레지스트리에서 직접 구성하려면 먼저 이미 존재하는지 검사합시다. 이 스크린 샷에서에서 해당 키로 이동 regedit.exe
했으며 Chrome은 ChromeHTML
ProgId 값으로 지정된 기본 브라우저 입니다.
당신이 링크를 클릭하면 열리는 브라우저를 전환하기 위해 필요한 최소한의 변경은 변경하는 것입니다 ProgId
세 이하 값을 UserChoice
당신은 아마 변화 (원하는 각 프로토콜에 하위 키 http
와 https
같은 수 있지만 어떤 이유로 각을 원한다면 별도의 브라우저에서 열린 것 중 하나).
이제 Firefox, IE 및 전환하려는 다른 브라우저에 사용할 항목을 결정하기 만하면됩니다. 이것을 프로그래밍 방식으로 결정하려면 Capabilities
Firefox의 브라우저 등록 키를 확인하십시오.
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\Capabilities\URLAssociations
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
모든 브라우저가 나열되는 위치이며 각 브라우저는 위의 구조를 가져야합니다.
검사에서 Firefox로 전환하려면 FirefoxURL
UrlAssociations에서 ProgId 값을 다시 사용한다는 것을 알 수 있습니다 .
(그러나 이처럼 파고 싶지 않다면 빠른 속임수가 있습니다. 기본적으로 원하는 브라우저를 설정하고 regedit를 새로 고쳐 브라우저가 무엇을 설정했는지 확인하십시오 UserChoice
!)
키 값을로 변경하면 FirefoxURL
Firefox에서 링크가 열립니다. 그런 다음 링크를 클릭하거나 제어판에서 올바른 기본값이 등록되었는지 다시 확인할 수 있습니다.
이제 세심한주의를 기울 였다면 다음과 같은 몇 가지 결함을 발견했을 것입니다.
IE URLAssociations
의 브라우저 등록 아래 에 하위 키 가 없으므로 StartMenuInternet
ProgId 값은 어디에서 오는가? 답 : 적어도 더 이상 연구하지 않으면 모릅니다. 아직 찾지 못한 다른 키에서 하드 코딩되거나 발견되었을 수 있습니다.
파이어 폭스의 PROGID 그것의 아래의 URLAssociations
있습니다 FirefoxURL
,하지만 당신은 브라우저 자체의 옵션에서 등록을 클릭하면, 그것은 사용하는 FirefoxHTML
대신 PROGID로! 왜? 다시, 나는 모른다. 둘 다 존재하며 Firefox를 가리 키기 때문에 작동합니다. 의도적 인 것일 수도 있지만 효과가없는 버그 일 수 있습니다.
UserChoice
기본 프로그램 이 없으면 어떻게됩니까 ? 답 : 프로토콜에 대한 "일반적인"파일 연결 (예 :) http
이 사용됩니다. 이 단지 파일 연결 (같은 표준 PROGID 위치에서 발견된다 HKCU\Software\Classes
, HKLM\Software\Classes
하고 뷰에서 HKCR
). 적어도 크롬은 정보를 설정한다고 생각하지만 파이어 폭스는 적어도 내 테스트에서 보이지 않는 것 같습니다.
이것을 기본 프로그램 편집기에 추가하려면 해당 응용 프로그램의 UserVoice Feedback 페이지 에서 제안하고 투표해야 합니다 . 개발 시간을 보내는 방법을 결정할 때 응용 프로그램 작성자가 해당 피드백에주의를 기울이는 것이 좋습니다.