여러 브라우저를 정기적으로 사용하므로 이미 실행중인 브라우저 (또는 Firefox가없는 경우 Firefox)에서 페이지를 여는 스크립트를 작성했습니다. 이 스크립트를 기본 브라우저로 설정하고 싶습니다. “연결 설정”대화 상자로 이동하여 HTTP를 선택하고 “프로그램 변경”을 클릭하면 팝업 대화 상자에서 이미 설치 한 웹 브라우저 중 하나를 제외한 다른 것을 선택할 수 없습니다. 이것은 모든 프로토콜에 해당되는 것으로 보입니다 (파일 확장자가 아닌 “다른 프로그램”에서 선택하거나 나열되지 않은 프로그램을 찾아 볼 수 있음). Windows 도움말은 이에 대해 아무 것도 말하지 않으며 사용할 수없는 “찾아보기 …”단추를 사용한다고 말합니다. 타사의 “기본 프로그램 편집기”도 시도했지만이 작업을 수행 할 수없는 것 같습니다.
스크립트를 기본값으로 수동으로 설정하는 방법이 있습니까 (레지스트리를 편집하여)?
답변
예, 직접 레지스트리 조작으로 스크립트를 작성할 수 있습니다.
짧은 대답
로 다음의 각 복사 .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 페이지 에서 제안하고 투표해야 합니다 . 개발 시간을 보내는 방법을 결정할 때 응용 프로그램 작성자가 해당 피드백에주의를 기울이는 것이 좋습니다.
답변
Windows 10에서 사용자 정의 무언가를 기본 프로토콜 처리기로 설정하려고 시도 하면서이 답변에 착륙 한 사람이 있다면 금이 간 것 같습니다.
이 질문에 대한 다른 대답 Clients\StartMenuInternet
은 Windows 7에서 기본 브라우저를 설정하는 것에 대해 몰랐던 키로 한 걸음 더 가까이 다가갔습니다 . 그러나 Firefox의 StartMenuInternet
키를 거의 복제 한 후에도 여전히 프로그램이 설정에 나타나지 않았습니다. 앱.
Revo Uninstaller를 사용하여 firefox의 제거를 시작하고 firefox의 제거 프로그램을 취소 한 다음 Revo가 남은 레지스트리 키를 스캔하도록 한 후 다른 키를 찾았습니다 HKLM\SOFTWARE\RegisteredApplications
. 이것은 윈도우가 그 기능에 대해 알 수 있도록 등록 된 모든 프로그램을 저장하는 것 같습니다.
그래서 설치 한 후에 StartMenuInternet
키에 키를 추가 HKLM\SOFTWARE\RegisteredApplications
를 차례로 Software\Clients\StartMenuInternet\YOURPROGRAM\Capabilities
정확히처럼 시작으로, 예 – Software\
:
regedit의 스크린 샷 (10 명의 담당자가있을 때까지 이미지를 포함시킬 수 없습니다 …)
답변
프로그램 (YName.exe)을 브라우저로 사용하려면 다음을 등록해야합니다.
1) … 시작 메뉴 인터넷-위에서 설명한대로
HKCU \ Software \ Clients \ StartMenuInternet \ YName \ Capabilities \ URLAssociations
http = YNameURL
https = YNameURL
2) HKCU \ Software \ RegisteredApplications-위에서 설명한대로 :
YName = 소프트웨어 \ 클라이언트 \ 시작 메뉴 인터넷 \ Y 이름 \ 기능
3) HKCU \ Software \ Classes \ YNameURL \ shell \ open \ 명령
@ = Path \ YName.exe
4) HKCU \ Software \ Classes \ Applications \ YName.exe \ shell \ open \ command
@ = Path \ YName.exe