Получение исключения отказано в доступе попытка получить полный путь к приложению
У меня есть Listview, который содержит список приложений, имеющих TCP-соединения. Я хочу иметь возможность извлечь значок приложения, чтобы добавить его в столбец Listview. Но для этого мне нужен полный путь к исполняемому файлу.
Проблема в том, что я получаю исключение для некоторых программ, но не для других. Я получаю исключения для процессов Idle и svchost. Для меня это имеет смысл. Я мог бы поймать это в ловушку в блоке try catch и использовать общий значок приложения.
Но я также получаю исключения для программ, которые я установил сам. Одна странная вещь, которую я действительно не понимаю, - это то, что одно из приложений, которые я установил, имеет несколько TCP-соединений. К некоторым я могу проложить путь, к другим-нет.
Надеюсь, кто-нибудь объяснит мне, что происходит. Я был бы вам очень признателен.
Вот код, который я использую:
Что я уже пробовал:
processName = GetProcessName(Info.PID) Try Dim p As Process = Process.GetProcessById(Info.PID) Dim exePath As String = p.Modules(0).FileName Using writer As StreamWriter = New StreamWriter("Ok.txt", True) writer.WriteLine(processName & "path is: " & exePath) End Using Catch ex As Exception Using writer As StreamWriter = New StreamWriter("error.txt", True) writer.WriteLine("Could not get path for process: " & processName) End Using End Try
Richard MacCutchan
Мы не можем угадать, какие ошибки вы получаете или когда вы их получаете.