1. 手動方式:
首先要在需要改變的文件夾中創(chuàng)建一個Desktop.ini文件,例子如下:
[.ShellClassInfo] ConfirmFileOp=0 InfoTip=我自己的文件夾 IconIndex=0 IconFile=MyFolder.ico |
解釋:
參數(shù)ConfirmFileOp設為0--防止用戶在移動或刪除此文件夾時彈出的“你正在刪除系統(tǒng)目錄”的警告。
參數(shù)IconFile指定為將要改變的圖標文件的位置,可以是Icon、Bmp、exe或者dll文件,上例中的圖標文件也放置到同一目錄中。
參數(shù)IconIndex就可以指定文件的索引,如果此圖標文件是Icon文件的話,IconIndex就設為0。
參數(shù)InfoTip用來設定此Folder在Windows中的Tooltip。
下一步打開CMD(命令提示符),輸入:
attrib +s i:\MyFolder |
i:\MyFolder指的就是我要改圖標的目錄的路徑。此項操作是讓你的文件夾成為系統(tǒng)文件夾。
好了,經(jīng)過手動處理后現(xiàn)在的目錄已經(jīng)改變了風格。
2. 編程方式:
這種方式是用我喜歡的VB來實現(xiàn)的,實現(xiàn)起來也同樣Easy。
只需要兩個API函數(shù),一個用來操作Ini文件的建立,另一個的功能等同于手動方式中的attrib +s。
Option Explicit Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long Private Declare Function PathMakeSystemFolder Lib "shlwapi.dll" Alias "PathMakeSystemFolderA" (ByVal pszPath As String) As Long Private Sub Form_Load() '以下幾步用于創(chuàng)建Desktop.ini文件 '不存在ini文件時,會自己創(chuàng)建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" '讓文件夾成為系統(tǒng)文件夾 PathMakeSystemFolder App.Path End Sub |
需要進一步說明的是:
WritePrivateProfileString ".ShellClassInfo", "IconFile", "MyFolder.ico", App.Path & "\desktop.ini" |
可以改為:
WritePrivateProfileString ".ShellClassInfo", "IconFile", App.EXEName & ".exe", App.Path & "\desktop.ini" |
果你使用的是主窗口的圖標的話,VB編譯后的程序的圖標的索引也是使用的0。