私はWindows 7マシンで完全な管理者権限を持っていますが、c:\ドライブにファイルを作成するアプリケーションを実行すると、エラーコード5(アクセスが拒否されます)が表示されます。私は窓7はCドライブやプログラムファイルのような保護された領域にファイルを作成することができないことを知っているファイルエクスプローラは、アクセス?Windows 7でC:ドライブにアクセス
私のアプリケーションでは、ユーザーはファイルを作成するフォルダを選択するので、c:\ drive sを選択した場合、このエラーは明らかに望ましくありません。私の知る限り、私が細かいですが、私のアプリケーションでも(同様に理解されている)、それを提示していないが、私のオプションが何であるかUACダイアログをバイパスすることができないようで研究しているよう
void CTestDlg::OnBnClickedButtonCreate()
{
CFile f;
CFileException e;
TCHAR* pszFileName = _T("c:\\test.txt"); // here i am hard coding path for simplicity.
if(!f.Open(pszFileName, CFile::modeCreate | CFile::modeWrite, &e))
{
TRACE(_T("File could not be opened %d\n"), e.m_cause);
}
}
?
私の唯一の選択肢は、これがWindows 7 OSで、ファイルを作成する前にファイルのパスを確認し、より使いやすいメッセージを表示する場合、自分のアプリケーションでこれを検出することです。 'Windows 7では、別のフォルダを選択するか、xp 'に戻ります。このスキームはWindows 7に移行する方法ですか?他の方法はありますか?
[Windows 7にはVistaと同じ問題がありますか?](http://stackoverflow.com/questions/5210575/does-windows-7-have-the-same-problem-as-vista) –
いいえ、あなたの唯一のオプションは* Windows 7 *と* Windows XPの両方に適切なフォルダを使用することです。これは、ディスクのルートディレクトリではなく、ユーザーのフォルダの1つになります。ディスクのルートディレクトリに物を置かないでください。 –
@CodyGrayこれらは同じではありませんが、どちらもUACと関係しています。 – zar