最近把主要在用的電腦換成Vista x64,之前先把長輩用的電腦轉換到Vista x64,畢竟XP就快要停止支援了,不過長輩用的電腦沒有用一些奇奇怪怪的程式,所以設定改一改其實使用起來和XP沒有太大差別,不過最近主要在用的電腦改成Vista x64以後,發現一個莫名其妙的地方,就是檔案關聯和ICON的問題,之前在XP可以從資料夾設定裡面找到檔案關聯的設定和修改某某副檔名的ICON,可是Vista卻沒有辦法設定ICON,只能設定檔案關聯,偏偏我用的秀圖軟體Imagine很奇怪,就算用Administrator去開程式還是沒有辦法設定file association,在圖檔上點兩下還是會用Windows相片圖庫去開圖檔… orz
後來用從控制台設定file association雖然是OK,但是會發生ICON變得很醜,不是Imagine預設的ICON,而是一張紙上面一個Imagine的ICON,就算用Regedit改ICON還是沒有辦法修改回來,於是只好想辦法從regedit改default file association,從網路上找了很久,教的都是從控制台去修改,偏偏這個會改到ICON的方法我一點都不想用。
最後發現Picasa裝完會把圖片的file association搶過去,所以就開始研究regedit到底是被改成怎樣……
後來推敲發現:假設要改的是*.xyz的副檔名,想用AAA來開啟
HKEY_LOCAL_MACHINE\SOFTWARE\Classes底下可以找到AAA.xyz的東西,這個就是要找的東西。
然後在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xyz 底下的OpenWithProgid機碼裡,新增一個叫做AAA.xyz的二進位值(長度為零,不要有值),接著在.xyz底下新增一個機碼,叫做UserChoice,然後進去UserChoice以後新增一個叫做Progid的字串值,值設定成AAA.xyz,這樣就完成了。
不過我在要修改UserChoice裡面那個Progid字串值的時候,發現我沒有辦法修改,所以我把整個UserChoice機碼刪掉,再重新建立機碼和字串值就OK了。
我不知道正式的改法是怎樣,微軟的MSDN資料多到太可怕,一時無法吸收,不過這樣修改並不會動到檔案的ICON,但是可以修改file association,至少在我的電腦上成功了… XD
總結一下:
目標是要修改*.xyz,想要用AAA這個程式來開啟
先去HKEY_LOCAL_MACHINE\SOFTWARE\Classes找AAA.xyz
然後去HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xyz 底下,做出以下的結構:
<省略>\FileExts\.xyz
├ OpenWithList
│ └<省略>
├OpenWithProgids
│ ├<省略>
│ └AAA.xyz的二進位值(長度為零,不要有值)
└UserChoice
├<省略>
└名字是Progid的字串,值為AAA.xyz
順便一提,改ICON是在 HKEY_CLASSES_ROOT\
xyzfile\DefaultIcon 裡面,那一個預設值修改成想要的ICON就可以了…我也是浪費了好幾個小時的青春… <囧>
近期迴響