Wie finden Sie die Standard-browser über die registry unter Windows 10
Auf Windows-Versionen vor Windows 10, ich kann den Standard-browser aus der folgenden registry-Schlüssel:
HKEY_CURRENT_USER\SOFTWARE\Clients\StartMenuInternet
Auf Windows 10, habe ich Microsoft Edge als Standard-browser. Aber ich sehe keine änderung in der registry-Schlüssel vor.
Jedoch, die auf früheren Versionen von Windows, es funktioniert einwandfrei.
Wie bekomme ich den Standard-browser auf Windows 10?
das hantieren mit der registry unter windows ist IMMER das Schlimmste, was zu tun ist - und seine fast immer völlig überflüssig. Wie bereits erwähnt, sind die Desktop-API ist eine gute Wahl, aber sicher sein, zu bewerten isDesktopSupported
Danke, ich will starten Sie durch die url nach spezifischem browser auf meinem computer installiert.. ich Forschung, aber ich sehe nicht, API-Unterstützung zu erkennen, die Browser durch java-code...
denn es ist unmöglich, unabhängig von der verwendeten Sprache.
Danke, ich will starten Sie durch die url nach spezifischem browser auf meinem computer installiert.. ich Forschung, aber ich sehe nicht, API-Unterstützung zu erkennen, die Browser durch java-code...
denn es ist unmöglich, unabhängig von der verwendeten Sprache.
InformationsquelleAutor Phạm Quốc Bảo | 2015-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Technisch
StartMenuInternet
ist nicht der Standard-browser, sondern lediglich bestimmt, wie das system reagiert, wenn Sie geklickt haben, auf dieInternet
- Symbol im start-Menü.In Windows 10, die Standard-Anwendung, die Handhabung erfolgt über die Benutzer-Auswahl-Schlüssel unter:
wo
(http|https)
einer von diesen ist z.B. nurhttp
oder nurhttps
Den Schlüssel
ProgId
Referenzen der hf Anwendungs-id, die aufgerufen wird, wenn das öffnen der url aufgerufen wird.ProgId Wert kann ermittelt werden, indem der Schlüssel in
HKEY_CLASSES_ROOT
, und Sie sind auf der Suche für dieShell/Open/command
default-Wert. Bei den meisten Browsern ist es ein einfacher Verweis auf die ausführbare Datei. Sie sollten in der Lage sein zu verwenden, dieApplication
- Taste, um dieApplicationName
usw.Moderne Anwendungen Referenz
LaunchWinApp
mit einemDelegateExecute
Wert gibt die tatsächliche Anwendung zu starten (es ist nie einfach, ist es?), der ApplicationName-in diesem Fall ist ein Verweis auf eine Ressource in der app (ich habe keine Ahnung, wie zu Lesen, die diese Werte).jedoch warum sind Sie auf der Suche nach dieser Informationen - wenn es nur um eine web-Seite öffnen, dann sollten Sie das
Desktop
API (seit java 1.6) z.B.:Grobe detail auf, wie lese-Anwendungen, die Unterstützung einer bestimmten url-Schema:
Unter Windows, die Kontrolle über die Standard-Anwendungen wird bestimmt durch die
Default Programs
app, diese app liest Daten, die von Anwendungen in der Registrierung setzen.Gibt es zwei Orte, das OS sieht für registrierte Anwendungen:
und
Die Einträge unter diesen Schlüsseln werden Referenzen auf eine entsprechende Stelle in der registry verwurzelt unter den gleichen Ursprung wie die
ResisteredApplications
Schlüssel, den Sie suchen.z.B. beim installieren von firefox, stellen einen Eintrag in es gekennzeichnet
Firefox
mit dem WertSoftware\Clients\StartMenuInternet\FIREFOX.EXE\Capabilities
. Dies ist die ReferenzierungHKEY_LOCAL_MACHINE\…\Capabilities
.Wenn du dir unter dieser Position werden Sie sehen, der Schlüssel
URLAssociations
gibt die URLs, die er verarbeitet. Wenn Sie sehen, dass beidehttp
undhttps
Werte, macht es sehr wahrscheinlich, dass dies ist ein web-browser. Die Namen der Anwendungen sollte sein, erhältlich von derApplicationName
Wert in derCapabilities
- Taste. Dieser Schlüssel kann auf lokalisierten Namen, oder werden die lokalisierten Namen. Die Bestimmung des Wertes von eine Dereferenzierung ist nicht trivial (wäre es Wert, die eigenen Fragen).Können Sie backtrack aus der url den Wert (z.B. http -> FirefoxURL) zu einem
HKEY_CLASSES_ROOT\FirefoxURL\Shell\Open\Command
um eine ausführbare Datei, wieder daran erinnern, dass new-ui-Anwendungen sind ein besonderer Fall.es ist unmöglich, zu "erkennen alle Browser", weil es keine solche Registrierung API - nur ein HANDLER registriert werden darf, für eine einzige Protokoll, und das ist über es. Windows ist nicht Android, wenn Sie wollen, um zu finden, bestimmte Anwendungen, die Sie benötigen, um explizit nach Ihnen zu suchen - über Pfad-Heuristik-Muster und wahrscheinlich Verzeichnisinhalt ... aber das wird höchst unzuverlässig - sogar auf der Suche für Hersteller-spezifische registry-Einstellungen ist höchst unzuverlässig ... sein bestes, um zu vergessen, über Ihre Aufgabe überhaupt, weil es nie 100% ig funktionieren.
Wie über Standard-browser ? wir können erkennen/get name Standard-browser aus der registry oder so??
Es gibt kein Standard-browser, es ist nur die Standard-handler für
http
,https
usw. - Protokolle. Sie könnte theoretisch in separaten Browser für unsichere web-browsing und "sichere" web-browsing, aber im Allgemeinen sind die Standard -http
handler ist wahrscheinlich der web-browser.Vielen Dank.. ich denke HKEY_CLASSES_ROOT\http\shell\open\command der mir helfen kann. Aber ich bin mir nicht 100% sicher, es funktioniert gut..=))
InformationsquelleAutor Petesh