使用c ++获取%APPDATA%路径

时间:2010-12-21 10:21:18

标签: c++ visual-c++

嘿伙计们,我想获得%APPDATA%文件夹的路径。

在win 2000& xp在:C:\ Documents and Settings \用户名\ Application Data

in vista& win7它在:C:\ Users \用户名\ AppData \ Roaming

我知道函数SHGetSpecialFolderPath但是它检索了一个BOOL 我希望将路径作为字符串。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:7)

名为lpszPath的{​​{3}}的第三个参数标记为__out

这样的事情应该做:

// Beware, brain-compiled code ahead!
wchar_t buffer[MAX_PATH];
BOOL result = SHGetSpecialFolderPath( hWnd
                                    , buffer
                                    , CSIDL_LOCAL_APPDATA
                                    , false );
if(!result) throw "You'll need error handling here!";
std::wcout << buffer;

注意:我几年没有完成任何Win API工作。很可能很快就有人指出我吹的地方。