読者です 読者をやめる 読者になる 読者になる

Windows 7のライブラリの不自由な点

Windows 7

まだ対応ソフトウェアが少ないせいか、それとも、複数フォルダーを対象にするせいでの不確定性が問題なのか、Windows 7のライブラリフォルダーで右クリックをしても、まともなコンテキストメニューが出ません。
コマンドプロンプトとかをすぐに表示したいギークな人々にとってはこれはゆゆしきことで、これだけが理由でWindows 7を窓から捨てて、Vista or XPにダウングレードしたくなる可能性すらあります。
今回、まじめにWindows 7を使い始めるに当たって、これらの問題を解決する方法を調べてみました。
関連付けができればよいので、普通に、HKEY_CLASSES_ROOTの下を探索してみたわけです。
そうしたところ、基本的には、

HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell

にコマンドを追加すれば、ライブラリフォルダの背景部分での右クリックに反応できることがわかりました。

ShellExを作れば、COMでコンテキストメニューをハンドリングするのも難しくないようですが、試しに、TortoiseSVNのエントリを作ってみたところ、フォルダーに該当するパスを取得できないようで、エラーが出てしまいました。これはTortoiseSVN側で対応してもらうしかないようです。

コマンドプロンプトが開けるようにする

ということで、お決まりのコマンドプロンプトを開く奴。

[HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\cmdhere]
@="コマンド ウィンドウをここで開く(&W)"
"Extended"=""
"NoWorkingDirectory"=""

[HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\cmdhere\command]
@="cmd.exe /s /k pushd \"%V\""

[HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\runas]
@="コマンド ウィンドウをここで開く(管理者)"
"Extended"=""
"NoWorkingDirectory"=""

[HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""

ダウンロードは、こちら

ライブラリを引っぱがす

さらに、ライブラリのままだと息苦しいので、最後の手段として、ライブラリに登録されている最初のフォルダーをパス指定で開いてくれるコンテキストメニュー。

[HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\openNonLib]
@="対象のフォルダを開く(&T)"

[HKEY_CURRENT_USER\Software\Classes\LibraryFolder\Background\shell\openNonLib\command]
@="explorer /e /root,\"%V\""

ダウンロードは、こちら

これで少しは過ごしやすくなります。