| 

.NET C# Java Javascript Exception

2
Hallo,

oben steht es schon, ich möchte mithilfe von Batch die Version von Internet Explorer erkennen bzw. eines anderen Installierten Webbrowsers. Das ist notwendig auf den verlauf des Batch-scripts, je nach Browser soll dem Benutzer andere Möglichkeiten zur Verfügung stehen.

Leider bin ich derzeit auf dem Holzweg und habe schon gegoogle`t , doch ich hab nichts gefunden.
Vielleicht kann einer von euch mir helfen wäre sehr nett.
Danke im Voraus, vicon
19.08.2011
vicon 308 1 8
5 Antworten
4
Hallo,

an folgender Stelle registrieren sich alle Browser des Systems:
HKEY_LOCAL_MACHINE\SOFTWARE\Clients\StartMenuInternet

Bei 64Bit Systemen:
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Clients\StartMenuInternet

Ich weiß nicht genau ob man mit batch direkt auf die Reg zugreifen kann, falls nicht würde ich mir ein kleines CMD-Tool schreiben was durch batch aufgerufen werden kann und entsprechende Werte zurückgibt die ich mit batch auslese (Natürlich nur für den Fall das ich mein CMD-Tool nicht direkt verwenden kann und batch zwingend erforderlich ist)

Grüße
20.08.2011
Nicolai Schönberg 2,4k 2 9
1
Hallo,
in einer vorherigen Antwort wurden ja schon die Registry-Schlüssel angegeben, in welchen die installierten Browser registriert sind.
Mit dem Befehl
reg query HKLM\SOFTWARE\Clients\StartMenuInternet
kannst du alle registrierten Browser auflisten.

In einer Batch-Datei sieht das dann so aus:
@echo off
FOR /F "skip=3 tokens=5 delims=\" %%i IN ('reg query HKLM\SOFTWARE\Clients\StartMenuInternet') DO (
REM in diesem Bereich hast du die Browser in der Variablen i
echo %%i
)


Das Ergebnis:
FIREFOX.EXE
IEXPLORE.EXE


Ich bin aber etwas irritiert über deine Formulierung mit der
Version von Internet Explorer ...
Wenn du damit tatsächlich die Version des jeweiligen Browsers meinst, dann geht das nur, wenn du die installierten Browser bereits kennst. So kannst du z.B. die FireFox-Version ermitteln:
for /f "skip=2 tokens=4" %%i IN ('reg query "HKLM\SOFTWARE\Mozilla\Mozilla Firefox"') do @echo %%i

Liebe Grüße, Tom
22.08.2011
Metal-Frog 946 1 7
0
Also so pauschal geht das sicher nicht so einfach. Du könntest evtl. prüfen ob diese "Standard"-Verzeichnisse (C:/Programme/Mozilla Firefox) existieren, aber damit ist auch nicht sichergestellt, dass
  • der Browser installiert ist
  • ob nicht evtl. mehrere Versionen des Browsers installiert sind
  • der Browser könnte trotzdem installiert sein, aber in einem anderen Verzeichnis.

    Was hältst du davon, den Benutzer einfach zu fragen, welchen Browser er hat? :-)
  • 19.08.2011
    AlexanderF 185 1 6
    Danke für den Gedankengang, aber unter Windows (WinXP,Vista,Win7) haben alle Programme immer ein anderes Verzeichnis, tja und jeden Benutzer auf der Welt Fragen welchen Browser er hat ?, natürlich man kann ihm die Frage im Programm stellen, aber er kann alles mögliche reinschreiben und am ende funktioniert Garnichts. Ich wäre auch mit einem anderen Möglichkeit einverstanden solange sie irgendwie über Batch gestartet/aufgerufen werden kann.
    vicon 19.08.2011
    0
    Ich würde die registry abfragen, für die IE-Version z.B. Werte in diesem Schlüssel hier:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer]
    "MkEnabled"="Yes"
    "Version"="9.0.8112.16421"
    "Build"="98112"
    "IntegratedBrowser"=dword:00000001
    "W2kVersion"="9.0.8112.16421"
    "svcKBFWLink"="http://go.microsoft.com/fwlink/?LinkId=220913"
    "svcVersion"="9.0.8112.16421"
    "svcUpdateVersion"="9.0.2"
    "svcKBNumber"="KB2559049"

    Die Konkurrenz ist ja (zum Glück) nicht so mit dem System verbandelt, deshalb wird es wohl ein bisschen Recherche brauchen, die Varianten rauszukriegen ... ich nutze ja den Firefox Portable, der kann wer weiß wo stecken, und schreibt nicht in die registry, jedenfalls nicht für deine Zwecke verlässlich. Also das ist nur ein Hinweis für die Richtung, in die ich gehen würde, ich wüsste nicht, wie ich sicher sein sollte.

    Den für .htm[l] oder http: zuständigen Browser abfragen kannst du auch in der registry, vgl. http://support.microsoft.com/kb/224816

    registry in Batches abfragen ...

    ... mit Bordmitteln:
    reg query


    ... mit Bordmitteln von Windows 7: PowerShell. Da ist die registry als virtuelles Dateisystem eingebunden und die Schlüssel sind mit
    dir
    abfragbar. Die Powershell ist auch auf früheren Windosen ab XP glaub ich über M$ Update nachinstallierbar, SQL Server ab 2008 setzt sie voraus, aber du wirst für deine Batch nicht erst Voraussetzungen schaffen können.

    Oder du startest den Default Browser indirekt mit
    [cmd /k] start http://codekicker.de/
    dann erübrigt sich das komplizierte Verzweigen vielleicht. Kommt halt drauf an, was du vorhast.
    19.08.2011
    mupan 575 8
    0
    ok danke für eure ganzen Antworten
    25.09.2011
    vicon 308 1 8

    Stelle deine Batch-Frage jetzt!