Как я могу добавить в listBox1 все имена процессов, а также каждый значок процесса рядом с ним, как в диспетчере задач?C#

Место общения программистов C#
Ответить
Anonymous
 Как я могу добавить в listBox1 все имена процессов, а также каждый значок процесса рядом с ним, как в диспетчере задач?

Сообщение Anonymous »

Код: Выделить всё

Process[] processlist = Process.GetProcesses();
foreach (Process theprocess in processlist)
{
listBox1.Items.Add(theprocess.ProcessName);
icons.Add(Icon.ExtractAssociatedIcon(theprocess.MainModule.FileName));
}
Таким образом я добавляю все процессы в listBox1.
Но мне отказывают в доступе к исключению (у меня есть права администратора, я запускал Visual Studio от имени администратора) в строке:

Код: Выделить всё

icons.Add(Icon.ExtractAssociatedIcon(theprocess.MainModule.FileName));

Код: Выделить всё

Win32Exception: Access is denied
System.ComponentModel.Win32Exception was unhandled
HResult=-2147467259
Message=Access is denied
Source=System
ErrorCode=-2147467259
NativeErrorCode=5
StackTrace:
at System.Diagnostics.ProcessManager.OpenProcess(Int32 processId, Int32 access, Boolean throwIfExited)
at System.Diagnostics.NtProcessManager.GetModuleInfos(Int32 processId, Boolean firstModuleOnly)
at System.Diagnostics.NtProcessManager.GetFirstModuleInfo(Int32 processId)
at System.Diagnostics.Process.get_MainModule()
at HardwareMonitoring.Form1..ctor() in d:\C-Sharp\HardwareMonitoring\HardwareMonitoring\Hardwaremonitoring\Form1.cs:line 124
at HardwareMonitoring.Program.Main() in d:\C-Sharp\HardwareMonitoring\HardwareMonitoring\Hardwaremonitoring\Program.cs:line 17
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
Я хочу перечислить в listBox1 все процессы и рядом с каждым процессом с правой стороны отобразить его логотип. Точно так же, как это отображается в диспетчере задач Windows. Как мне это сделать?


Подробнее здесь: https://stackoverflow.com/questions/239 ... s-icon-nea
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»