我有一个旧的 c++ 应用程序需要修改才能与 Windows 7 一起使用。问题在于创建一个新文件夹并将文件保存在该文件夹中。该文件夹应创建于
c:\程序文件\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我已经看到了这个帖子,但它没有回答我的问题。
谢谢,
伊利亚