Windows7で動作するように変更する必要がある古いc++アプリケーションがあります。問題は、新しいフォルダーを作成し、そのフォルダーにファイルを保存することです。このフォルダはで作成する必要があります
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ではこれは機能しますが、Windows7では機能しません。フォルダが作成されるよりも管理者としてアプリケーションを実行すると、「アクセスが拒否されました」というエラーがスローされます。
私の質問は次のとおり
です。「プログラムファイル」にフォルダを作成し、このフォルダにファイルを保存できるように、コードを変更するオプションはありますか?
PS私はすでにこのスレッドを見ましたが、それは私の質問に答えません。
ありがとう、
Ilija