Links zum Web-Browser abfangen / behandeln vor Browserstart

Windowsspezifisches Forum , API ,..
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
HW-SW-Tüftler
Beiträge: 11
Registriert: 30.07.2009 07:34
Wohnort: Schaafheim - Mosbach

Links zum Web-Browser abfangen / behandeln vor Browserstart

Beitrag 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
____________________________________________________________________________
div. PC's mit Win10 und Win7, div. AMIGA's bis 68060, PureBasic 6.12LTS und Elektronik-Bauteile ohne Ende...

Bei Anderen dampft die Zigarette, bei mir der Lötkolben... :-)
Benutzeravatar
Sicro
Beiträge: 963
Registriert: 11.08.2005 19:08
Kontaktdaten:

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

Beitrag 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.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

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

Beitrag 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 ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Sicro
Beiträge: 963
Registriert: 11.08.2005 19:08
Kontaktdaten:

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

Beitrag 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\""
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Benutzeravatar
Bisonte
Beiträge: 2465
Registriert: 01.04.2007 20:18

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

Beitrag von Bisonte »

Vielen Dank für die Suche.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
HW-SW-Tüftler
Beiträge: 11
Registriert: 30.07.2009 07:34
Wohnort: Schaafheim - Mosbach

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

Beitrag 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?
____________________________________________________________________________
div. PC's mit Win10 und Win7, div. AMIGA's bis 68060, PureBasic 6.12LTS und Elektronik-Bauteile ohne Ende...

Bei Anderen dampft die Zigarette, bei mir der Lötkolben... :-)
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8807
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 64 GB DDR4-3200
Ubuntu 24.04.2 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken

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

Beitrag 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.
Benutzeravatar
Sicro
Beiträge: 963
Registriert: 11.08.2005 19:08
Kontaktdaten:

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

Beitrag 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.
Bild
Warum OpenSource eine Lizenz haben sollte :: PB-CodeArchiv-Rebirth :: Pleasant-Dark (Syntax-Farbschema) :: RegEx-Engine (kompiliert RegExes zu NFA/DFA)
Manjaro Xfce x64 (Hauptsystem) :: Windows 10 Home (VirtualBox) :: Neueste PureBasic-Version
Antworten