Ya, Anda dapat menggunakannya dengan manipulasi registri langsung.
Jawaban Singkat
Salin masing-masing berikut ke dalam .reg
file (seperti firefox.reg
, chrome.reg
, ie.reg
) dan menjalankan mereka ketika Anda ingin beralih (atau, naskah dengan reg.exe
).
Untuk Firefox:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="FirefoxURL"
Untuk Chrome:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="ChromeHTML"
Untuk IE9:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice]
"ProgId"="IE.HTTP"
Jawaban Panjang
Windows menyimpan protokol standar per pengguna. Pendaftaran Default di bawah UrlAssociations
tombol, ditemukan di
HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations
Mirip dengan asosiasi file, mungkin ada "Program Default" untuk tautan. Ini adalah semacam terminologi jargon yang merujuk padaUserChoice
kunci-ada juga registrasi shell seperti asosiasi file standar di bawah http
ProgId yang juga dapat diubah, tetapi konfigurasi proksimal untuk browser adalah melalui Program Default (lihat bagian bawah untuk komentar tambahan tentang ini ).
Apa yang saya bicarakan di sini adalah apa yang Anda ubah ketika Anda pergi ke bagian Program Default di Control Panel untuk mengatur browser:
Untuk mengkonfigurasi ini langsung di registri, mari kita periksa yang sudah ada di sana. Di tangkapan layar ini saya telah menavigasi ke kunci itu regedit.exe
, dan Chrome adalah browser default saya, yang ditunjuk olehChromeHTML
ProgId.
Perubahan minimum yang perlu Anda lakukan untuk mengganti browser yang terbuka saat Anda mengklik tautan adalah mengubah ProgId
nilai di bawah UserChoice
subkunci pada setiap protokol yang ingin Anda ubah (mungkinhttp
dan https
akan sama, tetapi jika karena alasan tertentu Anda ingin membuat masing-masing dari yang terbuka di browser terpisah, Anda bisa).
Sekarang tinggal menentukan apa yang akan digunakan untuk Firefox, IE, dan peramban lain yang mungkin ingin Anda gunakan. Jika Anda ingin menentukan ini secara terprogram, Anda dapat melakukannya dengan menggali Capabilities
kunci pendaftaran browser, yang ditemukan di sini untuk Firefox:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\Capabilities\URLAssociations
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet
adalah tempat semua browser terdaftar, dan masing-masing harus memiliki struktur di atas.
Anda dapat melihat dari pemeriksaan bahwa jika saya ingin beralih ke Firefox, saya akan menggunakan nilai FirefoxURL
ProgId cadangan di UrlAssociations.
(Namun, jika Anda tidak ingin menggali seperti ini, ada cheat cepat: Cukup tetapkan browser apa pun yang Anda inginkan sebagai default, dan segarkan regedit untuk melihat apa yang telah ditetapkan browser untuk UserChoice
!)
Yang perlu kita lakukan hanyalah mengubah nilai kunci itu FirefoxURL
, dan sekarang tautan terbuka di Firefox. Setelah melakukannya, Anda dapat mengklik tautan atau mengecek di panel kontrol bahwa standar yang benar terdaftar:
Sekarang jika Anda telah memperhatikan dengan seksama, Anda mungkin telah memperhatikan beberapa kekurangan dengan semua ini:
IE tidak memiliki URLAssociations
subkunci di bawah pendaftaran browsernya StartMenuInternet
, jadi dari mana nilai ProgId berasal? Jawab: Saya tidak tahu, setidaknya tidak tanpa riset lebih lanjut. Mungkin hardcoded atau ditemukan di kunci lain yang belum saya temukan.
Firefox ProgId di bawah itu URLAssociations
adalah FirefoxURL
, tapi ketika Anda mengklik untuk mendaftar dalam pilihan di browser itu sendiri, menggunakanFirefoxHTML
sebagai ProgId sebagai gantinya! Mengapa? Sekali lagi, saya tidak tahu. Keduanya berfungsi karena keduanya ada dan mengarah ke Firefox. Mungkin disengaja, tapi itu mungkin hanya bug tanpa efek.
Apa yang terjadi ketika tidak ada UserChoice
Program Default? Jawaban: asosiasi file "biasa" untuk protokol (misalnya, http
) digunakan. Ini ditemukan di lokasi ProgId standar seperti asosiasi file ( HKCU\Software\Classes
, HKLM\Software\Classes
, dan lihat di HKCR
). Setidaknya Chrome menetapkan info di sana, saya kira, tetapi Firefox tampaknya tidak, setidaknya dalam pengujian saya.
Saya merekomendasikan bahwa jika Anda ingin ini ditambahkan ke Editor Program Default, Anda harus menyarankan dan membatalkannya pada halaman UserVoice Feedback aplikasi itu . Saya memilikinya pada otoritas yang baik bahwa penulis aplikasi memperhatikan umpan balik itu ketika memutuskan bagaimana menghabiskan waktu pengembangannya!
UserChoice
registrasi Program Default, sehingga kunci asosiasi file "standar" digunakan, sebagaimana dirujuk dalam poin # 3. Misalnya, lihat nilai default dariHKEY_CLASSES_ROOT\http\shell\open\command
(Anda dapat menulis kunci yang samaHKEY_CURRENT_USER
sebagai pengguna standar, jika itu penting). Seharusnya hanya masalah mengatur jalur aplikasi dan parameter apa pun string yang dibutuhkan browser Anda (misalnya,-- %1
saya pikir untuk Chrome)Jika ada orang lain yang mendapatkan jawaban ini sambil mencari untuk menetapkan sesuatu yang khusus sebagai pengendali protokol default di Windows 10, saya pikir saya telah memecahkannya.
Jawaban lain untuk pertanyaan ini membuat saya selangkah lebih dekat dengan
Clients\StartMenuInternet
kunci, yang saya tidak tahu tentang pengaturan browser default di Windows 7. Namun, setelah cukup banyak menduplikasi FirefoxStartMenuInternet
kunci , program saya masih tidak muncul di Pengaturan. aplikasi.Setelah menggunakan Revo Uninstaller untuk memulai uninstall firefox, membatalkan uninstaller firefox kemudian membiarkan Revo memindai kunci registri yang tersisa, saya menemukan kunci lain:
HKLM\SOFTWARE\RegisteredApplications
. Ini tampaknya menyimpan semua program yang terdaftar sehingga windows dapat diberi tahu tentang fungsinya.Jadi setelah mengatur
StartMenuInternet
kunci, tambahkan kunciHKLM\SOFTWARE\RegisteredApplications
untuk menunjuk keSoftware\Clients\StartMenuInternet\YOURPROGRAM\Capabilities
- ya, persis seperti itu, dimulai denganSoftware\
:Cuplikan layar regedit (Saya tidak dapat menanamkan gambar sampai saya memiliki 10 rep ...)
sumber
Agar program Anda (YName.exe) dianggap sebagai browser, program tersebut harus didaftarkan:
1) ... StartMenuInternet - seperti dijelaskan di atas,
HKCU \ Software \ Clients \ StartMenuInternet \ YName \ Capabilities \ URLAssociations
http = YNameURL
https = YNameURL
2) HKCU \ Software \ RegisteredApplications - seperti yang dijelaskan di atas:
YName = Perangkat Lunak \ Clients \ StartMenuInternet \ YName \ Capabilities
3) HKCU \ Software \ Classes \ YNameURL \ shell \ open \ command
@ = Path \ YName.exe
4) HKCU \ Software \ Classes \ Applications \ YName.exe \ shell \ open \ command
@ = Path \ YName.exe
sumber