실행중인 응용 프로그램 (mozila, visual studio 등)의 이름을 얻으려고합니다. 코드가 잘못되었지만 "Access Denied"예외가 발생했습니다. 이 문제를 어떻게 해결 해야할지 모르겠습니다.실행중인 응용 프로그램의 이름을 가져올 수 없음
StringBuilder sb = new StringBuilder();
foreach (Process p in Process.GetProcesses("."))
{
try
{
foreach (ProcessModule pm in p.Modules)
{
sb.Append("Image Name:\t" +
pm.ModuleName.ToString()
+ Environment.NewLine);
sb.Append("File Path:\t\t" +
pm.FileName.ToString() +
Environment.NewLine);
sb.Append("Memory Size:\t" +
pm.ModuleMemorySize.ToString() +
Environment.NewLine);
sb.Append("Version:\t\t" +
pm.FileVersionInfo.FileVersion.ToString() +
Environment.NewLine);
sb.Append(Environment.NewLine);
}
}
catch { }
}
빈 캐치 대신 예외 메시지와 스택 추적을 문자열에 넣고 stacktrace를 표시하거나 어쨌든 로거 클래스를 사용하십시오. 다음과 같은 빈 쓸모없는 잡을 피하십시오 :) –
다음과 같은 보안 문제를 확인하십시오. 관리자입니까, UAC가 켜져 있습니까? –
앱을 관리자로 실행하십시오. –