Monitor2Shutdown
};
+base::FilePath GetLocalAppDataLow() {
+ wchar_t system_buffer[MAX_PATH];
+ if (FAILED(SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, SHGFP_TYPE_CURRENT,
+ system_buffer)))
+ return base::FilePath();
+ return base::FilePath(system_buffer).DirName().AppendASCII("LocalLow");
+}
+
base::FilePath GetAppDataDir() {
base::FilePath file_path;
- base::win::Version version = base::win::GetVersion();
- int path_id = (version >= base::win::VERSION_VISTA) ?
- base::DIR_LOCAL_APP_DATA_LOW : base::DIR_LOCAL_APP_DATA;
- if (!PathService::Get(path_id, &file_path)) {
- LOG(ERROR) << "Can't get DIR_LOCAL_APP_DATA";
- return base::FilePath();
+ if (base::win::GetVersion() >= base::win::VERSION_VISTA)
+ file_path = GetLocalAppDataLow();
+ else
+ PathService::Get(base::DIR_LOCAL_APP_DATA, &file_path);
+ if (file_path.empty()) {
+ LOG(ERROR) << "Can't get app data dir";
}
return file_path.Append(kAppDataDir);
}