我有一個示例應用程序,我想在其中選擇一個文件夾。爲此,我使用了SHBrowseForFolder()。但在Vista中它不會工作。所以我使用了IFileOpenDialog。如果操作系統版本是XP我使用SHBrowseForFolder()否則我使用IFileOpenDialog。IFileOpenDialog無法在XP中啓動
我的應用程序在Vista中工作正常。但它將無法在XP中啓動。
請讓我知道我需要做的任何事情。
更新:
我認爲,這是因爲IFileOpenDialog接口的不行。 我正在使用SHCreateItemFromParsingName()API來設置瀏覽時的默認文件夾。 Shell32.dll在XP中不包含入口點。所以我面臨這個問題。
爲了解決這個問題,我使用LoadLibrary和GetProcAddres()來獲取Proc地址。
現在我可以運行該應用程序。
您是否在調用SHBrowseForFolder之前初始化COM?像往常一樣,張貼一些代碼會大大增加獲得相關和有用答案的機會。 – john
「在Vista中它不會工作」,這到底意味着什麼? SHBrowseFolder對Vista來說工作得很好,GetLastError()的價值是什麼? – pezcode