Tests

Tests

Ich habe in Windows 7 für einige Ordner Tastaturkürzel verwendet. Vor Kurzem habe ich mit Windows 8 begonnen und verwende jetzt Windows 8.1.

Es scheint ein Problem mit Tastaturkürzeln im C:\Users\username\LinksOrdner zu geben. Ich weise das Kürzel zu, aber es funktioniert nicht. Jedes andere Kürzel für einen beliebigen Ordner funktioniert jedoch einwandfrei. Ich kann das Kürzel nicht nur für die im LinksOrdner verwenden.

Bildbeschreibung hier eingeben

Wie kann dieses Problem behoben werden?

Bearbeiten

Ich habe einige Workarounds ausprobiert, aber sie haben nicht funktioniert:

Ich habe die Verknüpfung aus dem Ordner „Links“ ausgeschnitten und auf dem Desktop eingefügt. Dieselbe Tastenkombination funktionierte nicht. Ich habe die Tastenkombination in etwas anderes geändert (übrigens bin ich sicher, dass die Tastenkombinationen nicht etwas anderem zugewiesen sind) und es funktionierte mit einer anderen Tastenkombination. Ich habe sie zurück in den Ordner „Links“ verschoben, aber es funktionierte nicht. Ich habe die Verknüpfung erneut in etwas anderes geändert. Ich dachte, es würde diesmal funktionieren, aber obwohl die Verknüpfung zurück in den Ordner „Links“ verschoben und einer anderen Tastenkombination zugewiesen wurde, funktionierte es nicht.nichtarbeiten.

Antwort1

Tests

Tastenkombinationsersatz

Ich habe einige Tests durchgeführt und einige interessante und sehr aufschlussreiche Ergebnisse erhalten. Ich habe den Test unter Windows ME durchgeführt (das war die früheste Windows-Version, von der ich damals eine funktionierende Kopie zur Hand hatte) und ihn mit XP und dann 7 wiederholt. So habe ich es gemacht, und Sie können es wiederholen:

  1. Erstellen Sie eine Verknüpfung zum Rechner auf dem Desktop, benennen Sie sie Cund weisen Sie ihr einen ungenutzten Hotkey zu
  2. Testen Sie, ob der Hotkey funktioniert
  3. Erstellen Sie eine Verknüpfung zum Editor im LinksOrdner, nennen Sie sie Nund weisen Sie ihr einen anderen, nicht verwendeten Hotkey zu
  4. Bestätigen Sie, dass der Hotkeynichtarbeiten
  5. Löschen Sie die Verknüpfung zum Taschenrechner vom Desktop
  6. Verschieben Sie die Verknüpfung zum Editor aus dem LinkOrdner auf den Desktop und benennen Sie sie um inC
  7. Drücken Sie den Hotkey, der demOriginalAbkürzung zum Taschenrechner
  8. Beachten Sie, dass Notepad ausgeführt wird

Dies tritt unter Windows ME und XP auf, unter Windows 7 passierte jedoch am Ende beim Drücken der Tastenkombination keine Reaktion.

Internes Hotkey-Format

Daraus können wir schließen, dass, wenn Sie einer Verknüpfung einen Hotkey zuweisen, dieser dem vollständigen Pfad zur Verknüpfung zugewiesen wird. Wenn Sie beispielsweise im obigen Test den Hotkey Alt+ ⇧Shift+ Cauf die Verknüpfung mit dem Taschenrechner setzen, würde Windows intern etwa Folgendes registrieren:

C A S W K P
- + + - C "C:\…\Foobar\Desktop\C.lnk"

Wenn Sie also die Verknüpfung löschen (oder verschieben oder umbenennen), wird durch Drücken der Taste versucht, die Verknüpfung auszuführen, die nicht existiert. Interessanterweise werden beim Überwachen des Dateizugriffs im Process Explorer keine FILE NOT FOUNDFehler beim Versuch angezeigt, auf die fehlende Verknüpfung zuzugreifen. Wenn Sie die Verknüpfung jedoch wiederherstellen, werden Sie sehen, dass beim Drücken der Tastenkombination erneut darauf zugegriffen wird.

Automatische Hotkey-Verwaltung

Dass Windows 7 die kopierte Verknüpfung nicht ausführt, scheint darauf hinzudeuten, dass der Explorer eine Art Hotkey-Verwaltung durchführt, wenn Verknüpfungen verschoben, umbenannt oder gelöscht werden. Natürlich gibt es dabei Einschränkungen. (Wenn beispielsweise zwei Verknüpfungen einen Hotkey gemeinsam nutzen, wird der Hotkey nicht plötzlich dem anderen zugewiesen, wenn die Verknüpfung gelöscht wird. Sie müssen die Verknüpfung manuell öffnen.)EigenschaftenDialogfeld und klicken Sie, [OK]um dies zu tun.)

Links-Ordner-Umleitung

Ich habe dann überlegt, den LinksOrdner umzuleiten (Abbildung 1). Ich habe versucht, ihn umzuleiten und dann den verschobenen Ordner zurück an den ursprünglichen Speicherort zu kopieren. Ich habe festgestellt, dass Hotkeys für Verknüpfungen in keinem der Ordner funktionierten. Ich habe dann versucht, die Attribute aus den Ordnern zu entfernen und sogar die desktop.iniDateien daraus zu löschen, in der Annahme, dass Windows sie speziell behandelt, aber das hat nicht geholfen. Ich habe dann einen neuen, normalen Ordner im Benutzerdatenordner erstellt und zu meiner Überraschung HotkeysTrotzdemwürde nicht funktionieren.

Tastenkombinationen rund um das Dateisystem

Als nächstes habe ich es mit einer Verknüpfung auf einem anderen Laufwerk versucht, aber immer noch nichts. Ich habe versucht, Verknüpfungen an verschiedenen Stellen in Windows 7 Hotkeys zuzuweisen, aber nur die Verknüpfungen, die sich in den DesktopOrdnern Start Menuoder einem ihrer Unterverzeichnisse befanden, konnten Hotkeys verwenden.

Schlussfolgerungen

Es scheint, dass die Hotkey-Funktion des Explorers für Verknüpfungen extrem eingeschränkt ist und nur für das Startmenü und den Desktop funktioniert. Ich weiß nicht, ob dies ein Fehler ist oder beabsichtigt, da ich keine Erwähnung der Einschränkung finden kann. Microsofts eigeneSeite zum Themasagt nichts darüber. (Informieren Sie sie über dieFeedback-Formular. Ich habe auf [No]einen Link zu dieser Seite geklickt und ihn übermittelt.) Es gibt keinen Grund anzunehmen, dass dies in Windows 8 oder 8.1 oder möglicherweise sogar in zukünftigen Versionen anders ist (vorausgesetzt, dass sie den Explorer überhaupt beibehalten).

Empfehlungen

Sie könnten (versuchen)berichten Sie, aber ich würde mir keine Hoffnung machen, dass es behoben wird. Es wäre schneller und einfacher, Verknüpfungen, die Hotkeys benötigen, einfach in einem anderen Ordner zu speichern.


Abbildung 1: Einstellung für Links-Standorte:

Screenshot des Dialogfelds „Links-Speicherort“

Antwort2

Ich habe vor Kurzem eine ähnliche Frage gestellt und die Antwort herausgefunden, daher schätze ich, dass ich hier die Antwort habe. Meine Frage bezog sich eher auf die interne Funktion der Hotkey-Verwaltung von Windows und das Was und Wie. Kann man der Liste Ordner hinzufügen? Gibt es weniger bekannte Ordner, in denen man Verknüpfungen mit Hotkeys ablegen kann? Letztendlich habe ich nur bestätigt, was bereits bekannt war, aber so habe ich es gemacht.

Mein erster Versuch, es herauszufinden, war ein Blick aufProcmonSpuren von explorer.exe. Procmon ist ein Dienstprogramm, das Datei- und Registrierungszugriffe verfolgt, und ich kam zu dem Schluss, dass der Prozess anscheinend nicht nach zusätzlichen Pfaden in der Registrierung suchte.

Nicht ganz zufrieden, erinnerte ich mich an eineWindows 2000-Quellcode-Leck vor etwa 10 Jahren. Ich habe das aufgespürt und mir die Logik in diesem Code angesehen. Es stellte sich heraus, dass Hotkeys für Verknüpfungen an zwei Stellen verwaltet werden.

  1. Beim Ändern der Eigenschaften einer Verknüpfung.Wenn Sie im Eigenschaftendialog einer Verknüpfung auf OK oder Übernehmen klicken, prüft Windows, ob der Ordner der Verknüpfung eine feste Liste von Ordnern ist oder ein Unterordner einer solchen Liste. Diese Liste ist CSIDL_PROGRAMS, CSIDL_COMMON_PROGRAMS, CSIDL_STARTMENU, CSIDL_COMMON_STARTMENU, CSIDL_DESKTOPDIRECTORY, CSIDL_COMMON_DESKTOPDIRECTORYwie inCSIDL-Notation. (Jedes CSIDL-Element wird letztendlich anhand eines Registrierungswerts abgeglichen, sofern es nicht irgendwo zwischengespeichert ist. Ich habe die Implementierungsdetails dazu nicht nachgeschlagen.) Wenn sich die Verknüpfung an einem dieser Orte befindet, wird ein Hotkey registriert und ggf. der alte Hotkey gelöscht.
  2. Wann explorer.exebeginnt.In einem anderen Teil des Codes werden beim ersten Start des Prozesses alle Startmenüelemente sowie alle Desktopelemente aufgezählt explorer.exe. Die Aufzählung dieser beiden unterschiedlichen Pfade erfolgt in unterschiedlichen Funktionen. Die Funktion zum Aufzählen der Elemente im Startmenüordner ist rekursiv und diese Funktion behandelt auch das Zwischenspeichern von Symbolen. Die Funktion zum Aufzählen der Elemente auf dem Desktop ist nicht rekursiv, sondern überprüft nur den Desktopordner selbst.

Es wird kein Versuch unternommen, das Verschieben oder Löschen einer Verknüpfung zu handhaben.

Dies erklärt bestimmte merkwürdige Verhaltensweisen, beispielsweise das Folgende:

  • Wenn Sie eine Verknüpfung von einem gültigen Speicherort verschieben oder löschen, verbleibt der Hotkey im Speicher. Wenn Sie ihn drücken, wird blind versucht, die jetzt nicht mehr vorhandene Verknüpfung auszuführen. (Solange der aktuelle explorer.exeProzess aktiv ist.)
  • Wenn Sie eine Verknüpfung mit einem Hotkey in einen gültigen Ordner verschieben, wird dies ebenfalls erst bei der nächsten Sitzung erkannt oder wenn Sie die Eigenschaften der Verknüpfung bearbeiten.
  • Wenn Sie eine Verknüpfung in einem Unterordner zum Desktop erstellen, funktioniert diese für die aktuelle explorer.exeSitzung, da durch Drücken von „OK/Übernehmen“ der Hotkey gemäß dem oben beschriebenen Mechanismus 1 hinzugefügt wird. In der nächsten Sitzung wird dieser Hotkey jedoch nicht hinzugefügt, da sich die Verknüpfung in einem Unterordner befindet, in den explorer.exebeim ersten Start des Prozesses nicht rekursiv zugegriffen wird.

Am Ende habe ich größtenteils bestätigt, was bekannt war, aber es fühlt sich gut an zu wissenWarum.

Antwort3

Eine sichere Methode, um immer funktionierende Tastenkombinationen zu erstellen, ist die VerwendungAutoHotkey.

Da es sich bei AutoHotkey-Verknüpfungen im Grunde um Makros handelt, ist nicht nur garantiert, dass die Verknüpfung immer und überall funktioniert, sondern sie kann auch viel kompliziertere Aufgaben ausführen als nur das Starten eines Programms.

Antwort4

Es gibt eine damit verbundene Frage:langsame Tastenkombinationen für den Windows-Desktop.

Durch das Beenden ruhender Apps wird das Timeout entfernt.

verwandte Informationen