Windows Standard-Verhalten für Verknüpfungen ändern

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smileys
:) ;) :smile: :lol: :hihi: :D :rofl: :muahah: :( :pff: :kopfstreichel: :ohno: :betruebt: :heulen: :kopfkratz: :duckundweg: :o :? :oops: :psst: :sauer: :-P :daumenrunter: :daumen: :dankeschoen: :thx: :dafür: :gähn:
Mehr Smileys anzeigen

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Ansicht erweitern Die letzten Beiträge des Themas: Windows Standard-Verhalten für Verknüpfungen ändern

Re: Windows Standard-Verhalten für Verknüpfungen ändern

von Thomas-Gast » 29.06.2021, 13:56

Moin,

Ich habe ein Python Script für Notepad++ gebaut, so dass sich die Aufgabe für mich erledigt hat.

Die Lösung ist unter beschrieben. Es gibt auch ein Issue zu diesem Thema.

Gruß
Thomas

Windows Standard-Verhalten für Verknüpfungen ändern

von Thomas-Gast » 25.06.2021, 20:20

Moin, moin,

Ich möchte Sprungmarken (anchor) in HTML Dateien direkt über einen Link anspringen. Dazu wird in meinem Lieblingseditor (Notepad++) die Betriebssystem-Funktion ShellExecute ausgeführt mit dem Link als Parameter.

Innerhalb der PowerShell ist das Verhalten einfach nachstellbar mittels:

Code: Alles auswählen

Start-Process file:///C:\tmp\anchor-test-file.html#part3
Mit Hilfe des Python-Scripts (Python 2.7)

Code: Alles auswählen

# -*- coding: utf-8 -*-
import ctypes
SW_SHOW = 5
ctypes.windll.Shell32.ShellExecuteA(None, 'open', r'file:///C:\tmp\anchor-test-file.html#part3', None, None, SW_SHOW)
wird das Verhalten von notepad++ noch besser nachgeahmt.

Die HTML-Datei unter dem Namen C:\tmp\anchor-test-file.html sieht so aus:

Code: Alles auswählen

<!DOCTYPE html>
<html dir="ltr" lang="en"><head>
<title>HTML-Anchor-Test</title>
</head>
<body>

<a href="#part1">part 1</a><br>
<a href="#part2">part 2</a><br>
<a href="#part3">part 3</a><br>
<a href="#part4">part 4</a><br>

<h2 id="part1"><a href="#part1">part 1</a></h2>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h2 id="part2"><a href="#part2">part 2</a></h2>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h2 id="part3"><a href="#part3">part 3</a></h2>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<h2 id="part4"><a href="#part4">part 4</a></h2>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
visible end of document

</body>
</html>
Das Problem ist, dass Windows die URL abschneidet und den Browser "falsch" aufruft:
Anstatt

Code: Alles auswählen

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" file:///C:\tmp\anchor-test-file.html#part3
wird

Code: Alles auswählen

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" -osint -url "C:\tmp\anchor-test-file.html"
ausgeführt.

Weiß jemand, wo in der Registry hin gegriffen werden muss, um das Verhalten zu korrigieren?
Oder weiß jemand, wo ich über das Problem berichten kann, um ein Lösung zu bekommen?

Gruß
Thomas

Nach oben