Windows 7 컴퓨터에서 전체 관리자 권한을 가지고 있지만 c : \ 드라이브에 파일을 만드는 응용 프로그램을 실행할 때 오류 코드 5가 발생합니다 (액세스가 거부되었습니다). 윈도우 7은 C 드라이브 및 프로그램 파일과 같은 보호 된 영역에서 파일을 만들 수 없다는 것을 알고 있습니다. 파일 탐색기는 '관리'메시지 상자를 가져옵니다. 그 곳에서 파일을 복사하면 다른 곳에서 파일을 복사 할 수 있지만 내 응용 프로그램은 쓰기 레벨을 얻을 수 있습니다. 접속하다?Windows 7에서 C : 드라이브에 액세스
내 응용 프로그램에서는 사용자가 파일을 만들 폴더를 선택하므로 c : \ drive s /를 선택하면 분명히 바람직하지 않은이 오류가 발생합니다.
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);
}
}
는 지금까지 내가 연구 한대로 내가 잘되는 UAC 대화 상자를 바이 패스 할 수없는 것 같습니다하지만 내 응용 프로그램이 없어도 존재하는 것이 (물론 이해할 수있는)하지만 내 옵션은 무엇입니까?
내 유일한 옵션은 이것이 Windows 7 OS이고 파일을 만들기 전에 파일 경로를 확인하고 더 사용자 친화적 인 메시지를 표시하는 것입니다. '창 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 모두에서 적절한 폴더를 사용하는 것입니다. 이 파일은 사용자의 폴더 중 하나이며 디스크의 루트 디렉토리가 아닙니다. 디스크의 루트 디렉토리에 물건을 넣지 마십시오. –
@CodyGray 그들은 동일하지 않지만 둘 다 UAC와 관련이 있습니다. – zar