Standardwebbrowser aus Registry auslesen

  • Hallo und Guten Abend,

    hat jemand eine Idee ob und wo ich den Registrykey des verwendeten Standardbrowsers zu finden ist (Windows XP, Vista und WIndows 7)? Das hat insofern etwas mit AutoIt zu tun, weil ich in meinem kleinen Programm sichergehen möchte, den Key mit Hilfe von Regread auslesen möchte. So dachte ich mir, ich nehme einfach den Standardbrowser. Leider finde ich nichts brauchbares :(.

    In diesem Zusammenhang wollte ich fragen, wie ich verdeckt eine Webseite lade, um einen Textbereich einzulesen? Ich bastle grad an einem kleinen Tool und das soll u.a. auch prüfen, ob eine aktuellere Programmversion verfügbar ist...So wie man es von vielen kleinen Programmen kennt, die mir damm beim Ausführen mitteilen, ob ein Update verfügbar ist. Ich wäre für jeden Tip dankbar.

    Vielen Dank und viele Grüße,
    TOYY1

    Einmal editiert, zuletzt von TOYY1 (13. Oktober 2011 um 09:56)

  • Und wenn du ne I-Net Seite öffnen willst, nimm

    [autoit]

    ShellExecute ( "http://www.autoit.de" )

    [/autoit]


    Das öffnet die Seite automatisch mit dem Standart-Browser :D

  • Hallo und danke für eure Antworten.

    Also wenn ich

    [autoit]

    ShellExecute ( "http://www.autoit.de" )

    [/autoit]

    ,dann passiert da bei mir nix ?( , aber warum? Wie kann ich denn im Vorfeld checken, ob überhaupt eine Verbindung zum Netz besteht?

    Vielen Dank und viele Grüße,
    TOYY1

  • Hallo name22,

    ist mit InetGet /read möglich eine Seite ohne sie zu sehen zu laden und bspw. möglich den Textinhalt auszulaen? So richtig verstehe ich diese Funktion noch nicht :(.

  • Zitat

    ist mit InetGet /read möglich eine Seite ohne sie zu sehen zu laden und bspw. möglich den Textinhalt auszulaen? So richtig verstehe ich diese Funktion noch nicht :(.


    Mit InetGet kannst du Dateien aus der Hierarchie eines Webservers runterladen. Also z.B. das Bild dieses Smileys -> :): InetGet("http://autoit.de/wcf/images/smilies/smile.png"). Mit InetRead kannst du den Quelltext einer Website (bzw. den Inhalt einer Datei in Textform) auslesen. Das geht alles direkt und ohne Fenster o.Ä.. Den auszulesenden Text musst du dann im Quellcode finden und mit _StringBetween und den anderen String... Funktionen isolieren. Es gibt auch bereits mindestens ein Beispiel für einen Updater in diesem Forum. Quäl mal die Forensuche bzw. Google ;).

  • Hallo name22,

    danke für die Erläuterung.... :)
    Ich habe das nun mal probiert. Leider wird Für StringInStr 0 ausgegeben, obwohl dieser String (zwar mehrfach) definitv in dem Quellcode zu finden ist :(. Ideen?

    [autoit]

    #Include <String.au3>
    Local $sData = InetRead("http://www.dlubal.de/Update-Bericht.aspx?name=RFEM 4.xx")
    Local $nBytesRead = @extended
    MsgBox(4096, "", "Bytes read: " & $nBytesRead & @CRLF & @CRLF & BinaryToString($sData))
    $a= StringInStr($sData,"Version")
    MsgBox(0,"",$a)

    [/autoit]

    Vielen Dank und viele Grüße
    TOYY1

  • [autoit]

    #region - Timestamp
    ;2011-10-12 21:03:37
    #endregion - Timestamp

    [/autoit][autoit][/autoit][autoit]

    #include <String.au3>
    Local $sData = BinaryToString(InetRead("http://www.dlubal.de/Update-Bericht.aspx?name=RFEM 4.xx", 1), 4)
    Local $nBytesRead = @extended
    MsgBox(4096, "", "Bytes read: " & $nBytesRead & @CRLF & @CRLF & $sData)
    $a = StringInStr($sData, "Version")
    MsgBox(0, "", $a)

    [/autoit]
  • Hallo und danke i2c

    wenn ich den Codce mehrfach aufrufe, kommt immer ein anderes Erebnis für den gefundenen String heraus?

  • Ich suche genau diesen String...also die höchste Zahl der Versionen. Wenn ich nach "Version" suche und den String "beschneide", bekomme ich leider nicht das gewünschte Ergebnis.

    Ich bitte um Hilfestellung.

    Vielen Dank und viele Grüße,
    TOYY1

  • [autoit]

    #region - Timestamp
    ;2011-10-12 21:57:18
    #endregion - Timestamp
    #include<array.au3>
    #include <String.au3>
    Local $sData = BinaryToString(InetRead("http://www.dlubal.de/Update-Bericht.aspx?name=RFEM 4.xx", 1), 4)
    Local $nBytesRead = @extended
    $a = StringRegExp($sData, '<div class="version">Version(.*?)</div>', 1)
    _ArrayDisplay($a)

    [/autoit]
  • i2c du bist mein Held :)

    das habe ich gesucht. TOLL TOLL TOLL!!!

    könntest du mir noch kurz erklären, was es mit (.*?) auf sich hat. Bisher kannte ich die Funktion StringRegExp noch nicht. Könntest du mir kurz erläutern was da passiert?

    Vielen Dank und viele Grüße,
    TOYY1

  • Die Klammern sorgen dafür, dass das in der Klammer Gefundene einzeln und ohne das restliche Pattern ausgegeben wird. "." ist jedes beliebige Zeichen, "*" ist jede beliebige Anzahl des vorherigen Zeichens und "?" sagt dem "*", dass es nur so wenig wie möglich finden soll.
    In SEuBos RegEx Tutorial ist das aber wesentlich besser erklärt. Benutz mal die Forensuche ;).