テスト

テスト

Windows 7 では、いくつかのフォルダーにキーボード ショートカットを使用していました。最近、Windows 8 を使い始め、現在は Windows 8.1 を使用しています。

フォルダー内のキーボード ショートカットに問題があるようですC:\Users\username\Links。ショートカットを割り当てましたが、機能しません。ただし、フォルダーの他のショートカットは問題なく機能します。フォルダー内のショートカットだけにキーボード ショートカットを使用することはできませんLinks

ここに画像の説明を入力してください

この問題を解決するにはどうすればよいですか?

編集

いくつかの回避策を試しましたが、うまくいきませんでした。

リンク フォルダからショートカットを切り取り、デスクトップに貼り付けました。同じキーボード ショートカットは機能しませんでした。キーボード ショートカットを別のものに変更しました (ちなみに、キーボード ショートカットは他のものに割り当てられていないはずです)。別のキーボード ショートカットでは機能しました。リンク フォルダに戻しましたが、機能しませんでした。もう一度、ショートカットを別のものに変更しました。今回は機能すると思いましたが、ショートカットをリンク フォルダに戻して別のキーボード ショートカットを再割り当てしても機能しませんでした。ない仕事。

答え1

テスト

ショートカットの置き換え

いくつかのテストを実行して、興味深く、非常に示唆に富む結果が得られました。Windows ME (当時手元にあった最も古いバージョンの Windows) でテストを実行し、XP と 7 でも繰り返しました。私が実行したことは次のとおりです。これを繰り返すこともできます。

  1. デスクトップに電卓のショートカットを作成し、名前を付けCて未使用のホットキーを割り当てます。
  2. ホットキーが機能するかテストする
  3. フォルダ内にメモ帳へのショートカットを作成しLinks、名前を付けてN、別の未使用のホットキーを割り当てます。
  4. ホットキーが機能することを確認するない仕事
  5. デスクトップから電卓のショートカットを削除する
  6. メモ帳へのショートカットをLinkフォルダからデスクトップに移動し、名前を変更します。C
  7. 割り当てられたホットキーを押してくださいオリジナル計算機へのショートカット
  8. メモ帳が動作することに注意してください

これは Windows ME および XP で発生しますが、Windows 7 では、どちらかのホットキーを押しても最後に何も起こりませんでした。

内部ホットキー形式

このことから、ショートカットにホットキーを割り当てると、ショートカットへのフルパスに割り当てられると推測できます。たとえば、上記のテストでは、ホットキーAlt+ ⇧Shift+をC電卓のショートカットに設定すると、Windows は内部的に次のようなものを登録します。

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

したがって、ショートカットを削除 (または移動または名前を変更) すると、キーを押すと存在しないショートカットを実行しようとします。興味深いことに、Process Explorer でファイル アクセスを監視すると、FILE NOT FOUND見つからないショートカットにアクセスしようとするエラーは表示されませんが、ショートカットを復元すると、ホットキーを押すと再びアクセスされることがわかります。

自動ホットキー管理

また、Windows 7がコピーされたショートカットを実行しないということは、ショートカットが移動、名前変更、または削除されるたびにエクスプローラーが何らかのホットキー管理を行っていることを示しているようですが、もちろん、できることには制限があります。(たとえば、2つのショートカットがホットキーを共有している場合、ホットキーを持つショートカットを削除しても、もう1つのショートカットにホットキーが突然再割り当てされるわけではありません。手動でそのショートカットを開く必要があります。プロパティダイアログを開いてクリックし[OK]て実行します。

リンクフォルダのリダイレクト

そこで、フォルダをリダイレクトすることを検討しましたLinks(図 1)。リダイレクトを試し、移動したフォルダを元の場所にコピーしました。どちらのフォルダでも、ショートカットのホットキーは機能しませんでした。次に、desktop.iniWindows がそれらを特別に扱うという前提で、フォルダから属性を削除したり、ファイルを削除したりしてみましたが、効果はありませんでした。次に、ユーザーデータ フォルダに新しい通常のフォルダを作成しましたが、驚いたことに、ホットキーが機能しました。まだ動作しません。

ファイルシステム全体のショートカットホットキー

次に、別のドライブのショートカットで試してみましたが、それでも何も起こりませんでした。Windows 7 のいくつかの異なる場所にあるショートカットにホットキーを割り当ててみましたが、またはフォルダーDesktopまたはStart Menuそのサブディレクトリのいずれかにあるショートカットのみがホットキーを使用できました。

結論

エクスプローラーのショートカットのホットキー機能は、スタートメニューとデスクトップでのみ機能するなど、非常に制限されているようです。この制限について言及しているものが見つからないため、これがバグなのか意図的なものなのかはわかりません。Microsoft独自の主題に関するページ何も言わない。フィードバックフォーム[No]。このページへのリンクをクリックして送信しました。) Windows 8 や 8.1、あるいは将来のバージョンでも (Explorer が保持されると仮定した場合)、これが異なると考えられる理由はありません。

推奨事項

あなたは(試みる)ことができるそれを報告するただし、修正されるという期待は持ちません。ホットキーが必要なショートカットを別のフォルダに保存する方が速くて簡単でしょう。


図1: リンクの場所の設定:

リンクの場所ダイアログのスクリーンショット

答え2

最近、同様の質問をしましたが、答えがわかったので、ここで答えたいと思います。私の質問は、Windows のショートカット ホットキー管理の内部機能とその内容と方法についてでした。リストにフォルダーを追加できますか? ホットキー付きのショートカットを配置できるあまり知られていないフォルダーはありますか? 結局、すでに知られていることを確認しただけですが、私が行った方法は次のとおりです。

私が最初にそれを理解しようとしたのはプロクモンのトレースexplorer.exe。Procmon はファイルとレジストリのアクセスをトレースするユーティリティであり、プロセスはレジストリ内の追加のパスを検索していないようだという結論に達しました。

完全に満足できなかったので、約10年前にWindows 2000のソースコードが流出私はそれを追跡し、そのコード内のロジックを確認しました。ショートカットのホットキーは 2 か所で管理されていることがわかりました。

  1. ショートカットのプロパティを変更する場合。ショートカットのプロパティダイアログで[ OK]または[適用]をクリックすると、Windowsはショートカットのフォルダが固定リストのフォルダであるか、またはそのサブフォルダであるかどうかを確認します。このリストはCSIDL_PROGRAMS、、、、、、で示されますCSIDL_COMMON_PROGRAMSCSIDL_STARTMENUCSIDL_COMMON_STARTMENUCSIDL_DESKTOPDIRECTORYCSIDL_COMMON_DESKTOPDIRECTORYCSIDL表記(各 CSIDL 項目は、どこかにキャッシュされていない限り、最終的にはレジストリ値に対して検索されます。その実装の詳細は調べませんでした。) ショートカットがこれらの場所のいずれかにある場合は、ホットキーが登録され、該当する場合は古いホットキーが消去されます。
  2. いつexplorer.exe始まるのか。コードの別の部分では、プロセスが最初に開始されたときに、すべてのスタート メニュー項目とすべてのデスクトップ項目が列挙されますexplorer.exe。これら 2 つの異なるパスの列挙は、異なる関数で実行されます。スタート メニュー フォルダー内の項目を列挙する関数は再帰的であり、この関数はアイコンのキャッシュも処理します。デスクトップ上の項目を列挙する関数は再帰的ではなく、デスクトップ フォルダー自体のみをチェックします。

ショートカットの移動または削除を処理する試みは行われません。

これにより、次のような奇妙な動作が説明されます。

  • 有効な場所からショートカットを移動または削除すると、ホットキーはメモリ内に残り、それを押すと、存在しなくなったショートカットを盲目的に実行しようとします。(現在のプロセスが存続する限りexplorer.exe)
  • 同様に、ホットキー付きのショートカットを有効なフォルダーに移動した場合、次のセッションまで、またはショートカットのプロパティを編集するまで、そのショートカットは検出されません。
  • デスクトップのサブフォルダーにショートカットを作成すると、explorer.exe[OK/適用] を押すと上記のメカニズム 1 に従ってホットキーが追加されるため、現在のセッションでは機能します。ただし、次のセッションでは、ショートカットがサブフォルダーにあり、explorer.exeプロセスが最初に開始されたときに再帰しないため、このホットキーは追加されません。

結局、私はほとんど知られていたことを確認しましたが、なぜ

答え3

常に機能するショートカットを作成する確実な方法は、オートホットキー

AutoHotkey ショートカットは実際にはマクロであるため、ショートカットがいつでもどこでも機能することが保証されるだけでなく、単にプログラムを起動するよりもはるかに複雑なタスクを実行することもできます。

答え4

関連する質問があります。遅い Windows デスクトップのキーボード ショートカット

スリープ状態のアプリを終了するとタイムアウトが解除されます。

関連情報