문제있는 GetFiles() UnAuthorizedAccessAcception
- UnAuthorizedAccessException :
\ 경로 'c : \ 문서 및 설정 \'에 대한 '액세스 : C로 반복적으로 같은 디렉토리를 검색 할 때 거부됩니다. " UAC Priveledges를 업그레이드 한 경우에도 발생합니다. & 관리자 그룹 액세스
시도 방법
- 시도 & 캐치 : 사용 중 다음 방법 중 하나 (예외, UnAuthorizedAccessException는, 빈 캐치 계속)
질문
- 이런 종류의 예외를 어떻게 처리하고 정상적으로 프로그램을 계속 실행합니까? 이것은 비 관리자 및 관리자 계정에서 모두 작동해야합니다.
예제 코드이 처리하는
using System;
using System.IO;
namespace filecheck
{
class Program
{
static void Main(string[] args)
{
int i = 0;
int html = 0;
try
{
string[] filePaths = Directory.GetFiles(@"c:\", "*.html", SearchOption.AllDirectories);
foreach (string files in filePaths)
{
if (Convert.ToBoolean(files.IndexOf("html")))
{
html++;
}
Console.WriteLine(files);
i++;
}
Console.Write("# Files found: {0} Html: {1)", i, html);
}
catch (UnauthorizedAccessException e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
catch (Exception e)
{
Console.WriteLine("The process failed: {0}", e.ToString());
}
}
}
}
을 : 당신이 당신의 프로젝트에 app.manifest 파일을 추가하고 자세한 내용은 여기를 읽어 들어 app.manifest
에서 설정의 다음 줄을 주석을 해제해야하는 응용 프로그램의이 종류를 구축하려면 프로그래밍 방식으로 문서 및 설정에 액세스하는 것은 허용되지 않습니다. 슈퍼 관리자가 아니어도. –
@Theun : "슈퍼 관리자"란 무엇입니까? –
@Theun : 숨겨진 관리자 (기본 제공) 계정에 대해 이야기하고 있다고 가정합니다. 나는 그것을 시도하지는 않았지만 시스템에 대한 제한없는 액세스 권한을 제공해야합니다. 나는 그것을 필요로하지 않는다. 이 성가신 unauthroizedaccess 접근법에 의해 차단 된 내 검색을 둘러 볼 수있는 방법을 찾고 있습니다. – Nightforce2