У меня есть старое приложение на c ++, которое нужно изменить для работы с windows 7.
Проблема заключается в создании новой папки и сохранении файла в этой папке. Эта папка должна быть создана в
c: \ program files \ myApp \ data \ newFolder.
Эту функцию я использую для создания новой папки и получения ошибок:
if(!CreateDirectory(pathSamples,NULL)) //Throw Error
{
DWORD errorcode = GetLastError();
LPVOID lpMsgBuf;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, errorcode, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR)&lpMsgBuf, 0, NULL );
MessageBox(NULL, (LPCTSTR)lpMsgBuf, TEXT("Error"), MB_OK);
}
В XP это работает, а в Windows 7 - нет. Если я запускаю приложение от имени администратора, то папка создается, в противном случае выдается ошибка «Доступ запрещен».
У меня следующий вопрос:
Есть ли возможность внести изменения в код, чтобы папка могла быть создана в «программных файлах» и файлы, которые можно сохранить в этой папке?
PS Я уже видел эту тему , но она не отвечает на мой вопрос.
Спасибо
Ilija