Seite 1 von 1

Links zum Web-Browser abfangen / behandeln vor Browserstart

Verfasst: 21.05.2013 13:48
von HW-SW-Tüftler
Hallo,

nachdem ich ja nun schon seit längerem im Forum lese und auch schon etliche Code-Schnipsel, Tipps oder einfach nur Gedanken-Anstöße für meine Projekte gefunden habe (vielen Dank an Alle!!! :allright: ) und auch Alles mit mehr oder weniger Iterationen und Feinschliff immer funktioniert hat, habe ich momentan ein Problem, bei dem ich noch den richtigen Gedanken-Anstoß bzw. den geeignetsten Einstiegspunkt suche und das (ausnahmsweise) mal nichts mit Ansteuern oder Auslesen von Hardware zu tun hat.

Und zwar möchte ich ein Programm schreiben, das im Hintergrund läuft und das das Anklicken von Hyperlinks in eMails, Anklicken von URL-Link-Dateien, etc... abfängt, bevor der Webbrowser gestartet wird. Hintergrund ist der, dass ich z.B. Anmelde-Prozeduren automatisieren möchte, wobei der Teil Programm-technisch Formular-Buttons drücken, Felder ausfüllen usw... kein Problem darstellt.

Erste Versuche, mit " "C:\WINDOWS\system32\rundll32.exe" "C:\WINDOWS\system32\ieframe.dll",OpenURL %l"
oder " "C:\WINDOWS\system32\rundll32.exe" "C:\WINDOWS\system32\shdocvw.dll",OpenURL %l", um einen Ansatzpunkt zu finden, scheitern schon daran, dass diese Einträge von der Kommandozeile aus
- im Gegensatz zu sonstigen Einträgen bei anderen Dateitypen - gar nicht funktionieren.

Hat jemand eine Idee, wie ich dieses Problem am besten angehe? Wo muss ich eingreifen, damit das auch mit unterschiedlichen Standard-Browser-Einstellungen läuft?

Viele Grüße
Markus

Re: Links zum Web-Browser abfangen / behandeln vor Browserst

Verfasst: 21.05.2013 23:18
von Sicro
Am einfachsten wäre es ja, wenn du dein Programm einfach als Standard-Internetbrowser unter Windows einstellst. Dein Programm leitet die Parameter anschließend an deinen richtigen Internetbrowser weiter. So bekommt dann dein Programm alle Adressenaufrufe mit.

Re: Links zum Web-Browser abfangen / behandeln vor Browserst

Verfasst: 22.05.2013 10:48
von Bisonte
Sicro hat geschrieben:Am einfachsten wäre es ja, wenn du dein Programm einfach als Standard-Internetbrowser unter Windows einstellst. Dein Programm leitet die Parameter anschließend an deinen richtigen Internetbrowser weiter. So bekommt dann dein Programm alle Adressenaufrufe mit.
und wie funktioniert das ? Bzw. welcher Registry Schlüssel ist das ?

Re: Links zum Web-Browser abfangen / behandeln vor Browserst

Verfasst: 22.05.2013 12:45
von Sicro
Hallo Bisonte,

ok, lässt sich doch nicht einfach über das Fenster "Dateizuordnungen festlegen" der Systemsteuerung ändern. Hier lassen sich nur die Dateitypen mit beliebigem Programm zuweisen, Protokolle können nur mit registriertem Programm festgelegt werden.

Protokoll "http" über die Registry ändern:

Code: Alles auswählen

[HKEY_CLASSES_ROOT\http\DefaultIcon]
@="D:\\Software\\MeinProgramm.exe,1"

[HKEY_CLASSES_ROOT\http\shell\open\command]
@="\"D:\\Software\\MeinProgramm.exe\" \"%1\""

Re: Links zum Web-Browser abfangen / behandeln vor Browserst

Verfasst: 22.05.2013 23:21
von Bisonte
Vielen Dank für die Suche.

Re: Links zum Web-Browser abfangen / behandeln vor Browserst

Verfasst: 24.05.2013 13:37
von HW-SW-Tüftler
Hallo Sicro,

zuerst mal Danke für Deine Antwort!

Allerdings glaube ich nicht, dass Du das mit den Registry-Einträgen auch mal tatsächlich probiert hast. Jedesfalls funktioniert das damit allein so nicht. :cry:

Wenn man ein beliebiges Programm z.B. notepad.exe oder i_view32.exe einträgt, wird trotzdem der Internet Explorer, der auf dem Testrechner als Standard-Browser eingestellt ist, gestartet, wenn Links in eMails oder URL-Verknüpfungen auf dem Desktop angeklickt werden.

Um den Standard-Browser umzustellen, müssen meiner Einschätzung nach wesentlich mehr Registry-Einträge angepackt werden. Notfalls müßte man halt irgendwie mitprotokollieren, welche Änderungen in der Registry stattfinden, wenn man z.B. den Firefox über dessen Einstell-Oberfläche zum Standard-Browser macht oder weiß jemand definitiv, was sonst noch alles in der Registry zu ändern wäre?

Re: Links zum Web-Browser abfangen / behandeln vor Browserst

Verfasst: 24.05.2013 13:56
von NicTheQuick
Man muss natürlich auch die Zweige in der Registry mit Namen 'https', 'ftp', '.html', '.htm', usw. anpassen. 'http' reicht da wohl nicht.

Re: Links zum Web-Browser abfangen / behandeln vor Browserst

Verfasst: 24.05.2013 14:51
von Sicro
Hallo HW-SW-Tüftler,

ist Firefox der Standard-Browser reicht dies in der Tat nicht, wie ich gerade geprüft habe, mit dem Opera funktioniert das jedoch.

Der Unterschied ist, dass Firefox noch einen Eintrag namens "Progid" mit dem Wert "FirefoxURL" unter diesem Pfad anlegt, der gelöscht werden muss:

Code: Alles auswählen

HKEY_CURRENT_USER\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice
NicTheQuick hat geschrieben:Man muss natürlich auch die Zweige in der Registry mit Namen 'https', 'ftp', '.html', '.htm', usw. anpassen.
Möchte man die weiteren Protokolle und zusätzlich auch noch die Dateitypen umleiten, muss der notwendige Eintrag natürlich ebenfalls geändert werden. Ich weiß ja nicht in welchem Umfang er Umleiten möchte und habe ihm deshalb nur den wichtigsten Eintrag gezeigt.

Ohne in der Registry herumzuschrauben, könntest du auch die Programmdatei deines Internetbrowsers umbenennen und deine Programmdatei als die Browser-Programmdatei benennen.