#c #winapi
#c #winapi
Вопрос:
Нужна помощь с созданием каталога с помощью shlwapi.dll и shfolder.dll .
TCHAR szPath[MAX_PATH];
char buffer[]="MyFolder";
char *lpStr;
lpStr=buffer;
if(SUCCEEDED(SHGetFolderPath(NULL,
CSIDL_APPDATA|CSIDL_FLAG_CREATE,
NULL,
0,
szPath)))
{
PathAppend(szPath, lpStr);
SHCreateDirectory(0, L"C:Documents and SettingsAdministratorApplication DataMyFolder");
}
Мне действительно нужен PathAppend? Правильный ли это код, и если нет, то что мне нужно создать?
Комментарии:
1. Во-первых, вам нужно избежать этих обратных слешей; всех из них.
2. С другой стороны, орфографическая ошибка в «Настройках» была бы еще одной действительно веской причиной.
3. В-третьих, если вы собираетесь потратить все эти усилия на вычисления
szPath
, жаль, что вы никогда этим не пользуетесь.
Ответ №1:
Вы должны делать это вместо:
WCHAR szPath[MAX_PATH];
if (SUCCEEDED(SHGetFolderPathW(NULL,
CSIDL_APPDATA|CSIDL_FLAG_CREATE,
NULL,
0,
szPath)))
{
PathAppendW(szPath, L"My\Folder");
SHCreateDirectory(0, szPath);
}