4

(Visual Studio 2010 / Visual C++ / Windows 7)

例子.cpp:

#include <Shlobj.h>
#pragma comment (lib, "Shell32.lib")    
...
void example()
{
    SHGetKnownFolderPath(...) // undefined
}

我正在根据文档以及我在其他线程中看到的内容做所有事情,但它仍然不起作用。

4

2 回答 2

3

我有完全相同的问题。另一个具有相同代码和辅助文件(但包含不同)的项目正在运行。

放在#include <Shlobj.h>文件的顶部解决了这个问题。

但它可能无法复制,因为它应该在不这样做的情况下工作。可能是另一个 Visual Studio 错误。

于 2016-03-07T10:33:01.600 回答
2

尝试在所有包含之前放置以下语句:

#define WINVER 0x0600
#define _WIN32_WINNT 0x0600

由于文档说它至少需要 Vista/2008。

于 2014-03-13T13:03:56.460 回答