我正在C++中使用基於控制檯的Windows文件瀏覽器,並且難以將上下文菜單放在一起,該菜單列出與文件關聯的操作並在其上調用命令。現在最大的問題是獲取與文件類型相關的操作。使用Windows API獲取文件關聯
我知道打開和調整HKEY_CLASSES_ROOT中的註冊表項的過程,但我找不到實際獲取操作及其命令的方法,因此我可以從中創建上下文菜單。
在註冊表這些關聯的一般結構是:
HKEY_CLASSES_ROOT \(延伸)\(缺省) - 對文件類型
HKEY_CLASSES_ROOT \文件類型\(缺省) - 文件類型
HKEY_CLASSES_ROOT \的描述文件類型\殼\動作\(缺省) - 動作
HKEY_CLASSES_ROOT \文件類型\殼\動作\命令\(默認值)的說明 - 命令調用上文件
我想知道是否有一種方法(希望使用Windows API),我可以獲取與文件類型相關的所有操作。至少我可以檢查他們的註冊表中的命令的這些行動...
此外,這種方法似乎不適用於我的系統上的一些常見的文件類型(例如mp3),因爲默認密鑰保留空白和另一個鍵(「PercievedType」)設置爲音頻...我怎樣才能得到這樣的動作?
最後,如果有更好的方法來做到這一點,我一般很想聽到它,我通常討厭處理註冊表。我寧願有一個簡單的Windows調用,將讓我的動作和命令......
謝謝!這正是我希望能做到的!這篇文章幫助了很多! – 2010-08-24 16:50:41