Hangi tarayıcının birincil olduğu nasıl kontrol edilir?


1

Hangi tarayıcının Windows 10'da belirli bir makinede birincil tarayıcı olduğunu kontrol etmenin bir yolu var mı? Bu bilgiyi programlı olarak nasıl bulabilirim? Belki de Powershell? Veya Python? Önerileriniz için teşekkürler.


1
Hangi işletim sistemi? Özellikle geniş kapsamlı olarak dağıtılabilen bir komut dosyası çözümüne mi ihtiyacınız var veya yalnızca tek bir makineyi kontrol etmeye mi çalışıyorsunuz?
music2myear

Pencereler. Tek tek makineyi kontrol etmeye çalışıyorum.
hod

Windows'un hangi sürümü? Lütfen Düzenle düğmesini kullanın ve bu bilgileri gövdeye ekleyin ve doğru ve belirli Windows sürümü için bir etiket ekleyin. Bu, insanların sorunuzu ve nihayetinde cevabı bulmasına yardımcı olacaktır.
music2myyim

@ music2myear Bunun için üzgünüm. Sorumu güncelledim.
hod

Varsayılan tarayıcı adını https'de ve HKCR'daki http protokol kayıt defterinde ayarlar. Olabilir Get-Itemo kayıt defteri değerini sorgulamaya çalışır.
Biswapriyo

Yanıtlar:


0
reg query "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations" -v Progid -s

Windows komut satırı (insanlar tarafından okunabilir, örneğin döndürmelidir FirefoxURL, ChromeHTML, IE.HTTP) Progiden protokolleri (özellikle değerleri ftp, http, httpsvs.), örneğin, aşağıdaki gibi:

==> reg query "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations" -v Progid -s

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\ftp\UserChoice
    ProgId    REG_SZ    ChromeHTML

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
    ProgId    REG_SZ    ChromeHTML

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\https\UserChoice
    ProgId    REG_SZ    ChromeHTML

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\irc\UserChoice
    ProgId    REG_SZ    ChromeHTML

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\mailto\UserChoice
    ProgId    REG_SZ    ChromeHTML

…

Güncelleme : bir powershell betiği - çözmek için daha fazla yol.

'### by …\Shell\Associations\UrlAssociations'
$ProgidHash = @{}
$RegPath = "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations"
Get-ChildItem "$RegPath\*\UserChoice\" -ErrorAction SilentlyContinue | 
    ForEach-Object { 
        $ProgidHash.Add( (get-item $_.PSParentPath).PSChildName, 
                         $_.GetValue('progId')) }
if ( $ProgidHash.Count -gt 0 ) {Write-Output $ProgidHash}

'### by URL protocol (incomplete list)'
$ProtoHash = @{}
$RegPathCU = 'HKCU:\Software\Classes'
$regPathLM = 'HKLM:\SOFTWARE\Classes'
'ftp', 'http', 'https', 'mailto', 'ms-mail', 'news' | 
    ForEach-Object {
        if       ( Test-Path "$RegPathCU\$_\shell\open\command" ) {
            $ProtoHash.Add( "$_", 
            ('HKCU', ('"' + $((Get-Item "$RegPathCU\$_\shell\open\command").GetValue('') | 
                Split-Path -Leaf))))
        } elseif ( Test-Path "$RegPathLM\$_\shell\open\command" ) {
            $ProtoHash.Add( "$_", 
            ('HKLM', ('"' + $((Get-Item "$RegPathLM\$_\shell\open\command").GetValue('') | 
                Split-Path -Leaf))))
        } else {
            $ProtoHash.Add( "$_", ('none', [string]::Empty))
        }
    }
if ( $ProtoHash.Count -gt 0) { Write-Output $ProtoHash }

'### by file extension (incomplete list)'
$ExtenHash = @{}
$RegPathCU = 'HKCU:\Software\Classes'
$regPathLM = 'HKLM:\SOFTWARE\Classes'
'.htm', '.html', '.shtml', '.xhtml', '.xml' | 
    ForEach-Object {
        if       ( Test-Path -LiteralPath "$RegPathCU\$_" ) {
            $aux = (Get-Item "$RegPathCU\$_").GetValue('')
            $ExtenHash.Add( "$_", 
            ('HKCU', $aux, ('"' +  $((Get-Item "$RegPathLM\$aux\shell\open\command").GetValue('') | 
                Split-Path -Leaf))))

        } elseif ( Test-Path -LiteralPath "$RegPathLM\$_" ) {
            $aux = (Get-Item "$RegPathLM\$_").GetValue('')
            $ExtenHash.Add( "$_", 
            ('HKLM', $aux, ('"' + $((Get-Item "$RegPathLM\$aux\shell\open\command").GetValue('') | 
                Split-Path -Leaf))))
        } else {
            $ExtenHash.Add( "$_", ('none', 'none', [string]::Empty))
        }
    }
if ( $ExtenHash.Count -gt 0) { $ExtenHash }

'### TODO: by mime type'

Örnek çıktı (kısmen kesilmiş):

PS D:\PShell> D:\PShell\SU\1268295.ps1
### by …\Shell\Associations\UrlAssociations

Name                           Value                                               
----                           -----                                               
urn                            ChromeHTML                                          
news                           ChromeHTML                                          
http                           ChromeHTML                                          
mms                            ChromeHTML                                          
nntp                           ChromeHTML                                          
ftp                            ChromeHTML                                          
mailto                         ChromeHTML                                          
https                          ChromeHTML                                          
smsto                          ChromeHTML                                          
sms                            ChromeHTML                                          
### by URL protocol (incomplete list)
http                           {HKCU, "chrome.exe" -- "%1"}                        
ftp                            {HKCU, "chrome.exe" -- "%1"}                        
news                           {none, }                                            
mailto                         {HKCU, "chrome.exe" -- "%1"}                        
https                          {HKCU, "chrome.exe" -- "%1"}                        
ms-mail                        {none, }                                            
### by file extension (incomplete list)
.xhtml                         {HKCU, ChromeHTML, "chrome.exe" -- "%1"}            
.html                          {HKCU, ChromeHTML, "chrome.exe" -- "%1"}            
.htm                           {HKCU, ChromeHTML, "chrome.exe" -- "%1"}            
.shtml                         {HKCU, ChromeHTML, "chrome.exe" -- "%1"}            
.xml                           {HKLM, xmlfile, "iexplore.exe" %1}                  
### TODO: by mime type

Güncelleme 2 - Firefoxvarsayılan tarayıcıyı yaptıktan sonra çıktı :

PS D:\PShell> D:\PShell\SU\1268295.ps1
### by …\Shell\Associations\UrlAssociations

Name                           Value                                               
----                           -----                                               
urn                            ChromeHTML                                          
news                           ChromeHTML                                          
http                           FirefoxURL-308046B0AF4A39CB                         
mms                            ChromeHTML                                          
nntp                           ChromeHTML                                          
ftp                            FirefoxURL-308046B0AF4A39CB                         
mailto                         ChromeHTML                                          
https                          FirefoxURL-308046B0AF4A39CB                         
smsto                          ChromeHTML                                          
sms                            ChromeHTML                                          
### by URL protocol (incomplete list)
http                           {HKCU, "firefox.exe" -osint -url "%1"}              
ftp                            {HKCU, "firefox.exe" -osint -url "%1"}              
news                           {none, }                                            
mailto                         {HKCU, "chrome.exe" -- "%1"}                        
https                          {HKCU, "firefox.exe" -osint -url "%1"}              
ms-mail                        {none, }                                            
### by file extension (incomplete list)
.xhtml                         {HKCU, FirefoxHTML-308046B0AF4A39CB, "firefox.exe...
.html                          {HKCU, FirefoxHTML-308046B0AF4A39CB, "firefox.exe...
.htm                           {HKCU, FirefoxHTML-308046B0AF4A39CB, "firefox.exe...
.shtml                         {HKCU, FirefoxHTML-308046B0AF4A39CB, "firefox.exe...
.xml                           {HKLM, xmlfile, "iexplore.exe" %1}                  
### TODO: by mime type

Benim hatam, farklı makineler arasında atlıyordum ve Windows 7'de (!) Çözümünüzün çalıştığını test ettiğimi fark ettim. Çok teşekkür ederim!
hod

0

Belirli bir makinede hangi tarayıcının birincil olduğunu kontrol etmenin bir yolu var mı?

Birincil tarayıcı, bahsettiğiniz protokole bağlı olarak farklı olabilir.

Farklı protokolleri kontrol etmek için ftypebir cmdkabuğun içinde kullanabilirsiniz .

Örnekler:

> ftype | findstr http
http="C:\apps\Firefox\firefox.exe" -osint -url "%1"
https="C:\apps\Firefox\firefox.exe" -osint -url "%1"

> ftype | findstr ftp
ftp="C:\apps\Firefox\firefox.exe" -osint -url "%1"

vb ...


Daha fazla okuma


Üzgünüm. Bu, iexplore.exevarsayılan tarayıcım Chrome olmasına rağmen döner (lütfen güncelleştirilmiş cevabımı görün).
JosefZ

@JosefZ Hmm. Benim için çalışıyor ...
DavidPostill

@DavidPostill Makinemde bu da geri döner iexplore.exeve varsayılan tarayıcım Firefox'tur ...
hod
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.