Seite 1 von 1

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

Verfasst: 25.06.2021, 20:20
von Thomas-Gast
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

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

Verfasst: 29.06.2021, 13:56
von Thomas-Gast
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