こんにちは、阿久津です。従来のWindows OSでは、HKEY_CLASSES_ROOT \ lnkfileキーにある文字列値「IsShortcut」を削除し、再ログオンすることで、ショートカットファイル上のオーバーレイアイコンを無効にすることが可能でした。しかし、Windows 7で同様のチューニングを実行しますと、コンピューターのお気に入りリンクが参照できなくなり、タスクバーにドラッグ&ドロップでアイコンを登録できなくなるなどのトラブルが発生します(図01~03)。
これらのトラブルはいずれも、ショートカットファイルとしての役割を想定して実装された機能ながらも、ショートカットファイルが正しく動作しなくなるために発生するというもの。端的に述べますと、Windows 7では、文字列値「IsShortcut」を削除した時点で、ショートカットファイルが正しく動作しなくなる、ということです。
筆者もWindows 7のアイコンだけを撮影するため、一時的に文字列値「IsShortcut」を削除し、撮影を終えたら「IsShortcut」を復活させるという作業を行うことがありました。しかし、改めて述べるまでもなく面倒な作業ですので、何か解決策がないか、考えてみました。
そこで思いついたのが、矢印のオーバーレイアイコンを無効にするのではなく、無色のオーバーレイアイコンを用意する方法です。今回はこの、ショートカットファイルの矢印アイコンを無効にするチューニングをお送りしましょう。
1.あらかじめ無色のアイコンを作成します。
2.[Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力してから<OK>ボタンをクリックします。
3.レジストリエディターが起動したら、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Shell Iconsキーまでたどって開きます(ない場合は作成します)。
4.右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>と選択して、値名を「29」に変更します。
5.文字列値「29」をダブルクリックし、値のデータを「C:\Users\kaz\Documents\Empty.ico,0」など最初に作成したアイコンファイルのフルパス名に変更して<OK>ボタンをクリックします。
6.<×>ボタンをクリックしてレジストリエディターを終了させたら、<スタート>メニューの電源ボタンから<ログオフ>を選択し、Windows 7に再ログオンします。
これでチューニングが終了しました(図04~16)。
図09: レジストリエディターが起動したら、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorerキーまでたどって開きます |
図14: 文字列値「29」をダブルクリックし、値のデータを「C:\Users\kaz\Documents\Empty.ico,0」(パス名は環境に合わせて置き換えてください)に変更して<OK>ボタンをクリックします |
早速、結果を確認にしてみましょう。デスクトップに適当なファイルのショートカットファイルを作成してください。チューニング前は矢印のオーバーレイアイコンが表示されていましたが、チューニング後は透明のオーバーレイアイコンが表示されることになりますので、通常のファイルと同じ状態で表示されます(図17)。
最近のWindows OSには、アイコンリソースとして~ \ Shell Iconsキーを参照する仕組みが加わっており、オーバーレイアイコンに相当する番号「29」を文字列値として与えることで、同アイコンを置き換えるというチューニングです。なお、アイコンエディタとして今回はIcoFXを使用していますが、Windows Vista以降の対応をうたっているアイコンエディタであれば何でも構いません。
それでは、また次号でお会いしましょう。
阿久津良和(Cactus)