Windows のデフォルトのアイコンを放棄し、プログラムが配置されているディレクトリに個人用の FolderIcon を持たせます。実際、実行するのは非常に簡単です。実際に必要なのは、Desktop.ini ファイル 1 つだけです。以下の 2 つの側面から説明します。
1. 手動による方法:
まず、変更する必要があるフォルダーに Desktop.ini ファイルを作成します。例は次のとおりです。
->[.ShellClassInfo]確認ファイル操作=0
InfoTip=自分のフォルダ
アイコンインデックス=0
IconFile=MyFolder.ico->
説明する:
パラメータ confirmFileOp は 0 に設定されており、ユーザーがこのフォルダを移動または削除したときに「システム ディレクトリを削除しています」という警告が表示されなくなります。
パラメータ IconFile は、変更するアイコン ファイルの場所を指定します。上記の例では、アイコン ファイルも同じディレクトリに配置されます。
パラメータ IconIndex はファイルのインデックスを指定できます。アイコン ファイルの場合、IconIndex は 0 に設定されます。
InfoTip パラメーターは、Windows でこのフォルダーのツールチップを設定するために使用されます。
次に CMD (コマンド プロンプト) を開き、次のように入力します。
i:/MyFolder は、アイコンを変更するディレクトリのパスを指します。この操作により、フォルダーがシステム フォルダーになります。
手動処理後にディレクトリのスタイルが変更されました。
2. プログラミング方法:
このメソッドは、私が気に入っている VB を使用して実装されており、実装も同様に簡単です。
必要な API 関数は 2 つだけです。1 つは Ini ファイルの作成を操作するために使用され、もう 1 つの関数は手動モードの属性と同等です。
->オプション明示的PRivateDeclareFunctionWritePrivateProfileStringLib"kernel32"Alias"WritePrivateProfileStringA"(ByVallpapplicationNameAsString,ByVallpKeyNameAsAny,ByVallpStringAsAny,ByVallpFileNameAsString)AsLong
PrivateDeclareFunctionPathMakeSystemFolderLib"shlwapi.dll"Alias"PathMakeSystemFolderA"(ByValpszPathAsString)AsLong
PrivateSubForm_Load()
'Desktop.ini ファイルを作成するには、次の手順を使用します。
'ini ファイルが存在しない場合、ini は自動的に作成されます
WritePrivateProfileString".ShellClassInfo","confirmFileOp","0",App.Path&"/desktop.ini"
WritePrivateProfileString".ShellClassInfo","InfoTip","このためにフォルダーが変更されました",App.Path&"/desktop.ini"
WritePrivateProfileString".ShellClassInfo","IconIndex","0",App.Path&"/desktop.ini"
WritePrivateProfileString".ShellClassInfo","IconFile","MyFolder.ico",App.Path&"/desktop.ini"
'フォルダーをシステムフォルダーにします
パスMakeSystemFolderApp.Path
EndSub->
さらに説明が必要なのは次のとおりです。
->WritePrivateProfileString".ShellClassInfo","IconFile","MyFolder.ico",App.Path&"/desktop.ini"->
次のように変更できます。
->WritePrivateProfileString".ShellClassInfo","IconFile",App.EXEName&".exe",App.Path&"/desktop.ini"->
メインウィンドウのアイコンを使用している場合、VB コンパイル済みプログラムのアイコンのインデックスも 0 になります。 ->