如何使用 Vb6 中的 SHGetKnownFolderPath 函数

Gar*_*del 3 vb6 winapi windows-7 known-folders

我目前正在向现有的 Vb6 项目添加 Windows 7 支持,但我遇到了使用 SHGetFolderPath 定位特殊文件夹路径的问题,从 Vista 开始的 Windows 版本不支持该路径。我知道我应该使用 SHGetKnownFolderPath 但我找不到在 VB6 中使用 SHGetKnownFolderPath API 调用实现的好例子。

Mar*_*rkJ 5

建议更容易使用Shell 对象 后期绑定,因为 Microsoft 没有注意与此对象的兼容性。

Const ssfCOMMONAPPDATA = &H23 
Const ssfLOCALAPPDATA = &H1c
Const ssfAPPDATA = &H1a
Dim strAppData As String 

strAppData = _ 
    CreateObject("Shell.Application").NameSpace(ssfAPPDATA).Self.Path 
Run Code Online (Sandbox Code Playgroud)

  • 命名空间的 id 值 https://msdn.microsoft.com/en-us/library/windows/desktop/bb774096(v=vs.85).aspx (2认同)