轉貼自: http://www.microbean.com.tw/viewtopic.php?t=6
Windows 的檔案關聯 , 是依照 Registry 做的 ,
定義式為
[HKEY_CLASSES_ROOT]
.mp3
(Default) = MyMp3Player --> 指定執行程式的機碼
MyMp3Player
(Default) = MyMp3Player Application
DefaultIcon = D:MyMp3Player.exe,0 --> 顯示 icon 的圖示
Shell
(Default) = MyMp3Player
\open
\command
(Default) = D:MyMp3Player "%1" -> 執行檔的位置及參數
這個的意思是 將 .mp3 關聯連到 MyMp3Player 的機碼上 ,
所以要建兩個機碼來對應.
詳細資料可參考
http://msdn.microsoft.com/library/en-us ... frame=true
檔案雙擊後 , 就會用 shellexecute 的方式呼叫您的程式 , 所以就可以用 paramstr 去取參數了 .
另外機碼改變 , 並不會馬上生效您可以呼叫這個 API , 這樣就不用重新開機了 .
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);