Получить процессы, приложения, открыть окна в ListView с иконками - PullRequest
0 голосов
/ 31 мая 2018

Я новичок здесь.Благодарим Вас за рассмотрение этой темы.Благодарен в любом случае.

Я начинающий программист, и недавно только что вернулся, я никогда не был настолько опытным в этом (VB.net).Я пытаюсь сделать что-то похожее на диспетчер задач в моем проекте.

У меня есть TabControl, и в нем у меня есть 3 TabPages.

Вот как выглядит форма.Я взял какой-то код из других мест, я так много искал, но этот код на самом деле не отвечает моим потребностям.

  1. Я вижу, что процесс (Процессы) TabPage не содержит все процессы, которыеopen.
  2. Хотя я нашел этот код, я считаю, что он находится на том же сайте.Для «Приложения» он не отображает все открытые приложения (он игнорирует некоторые, я не знаю почему, именно поэтому он не отвечает моим потребностям).Мне нужен код всех открытых приложений.
  3. Что касается «Windows», то у меня вообще нет кода.Я слишком новый.Плюс нигде не мог его найти.Итак, пожалуйста, помогите мне с кодом для всех открытых «окон» в компьютере.

С иконками, кстати.

Код;

'Apps with Icons
    ListView1.Columns.Add("Applications", 130, HorizontalAlignment.Left)
    ListView1.Columns.Add("Full Path", 320, HorizontalAlignment.Left)
    ListView1.SmallImageList = ImgList 'Uses the ImgList for the icons. 
    ListView1.FullRowSelect = True
    ListView1.View = View.Details
    ListView1.HeaderStyle = ColumnHeaderStyle.Nonclickable
    'Processes with Icons
    ListView2.Columns.Add("Processes", 130, HorizontalAlignment.Left)
    ListView2.Columns.Add("Full Path", 320, HorizontalAlignment.Left)
    ListView2.SmallImageList = ImgList 'Uses the ImgList for the icons. 
    ListView2.FullRowSelect = True
    ListView2.View = View.Details
    ListView2.HeaderStyle = ColumnHeaderStyle.Nonclickable

    'Windows


    'Applications
    For Each proc As Process In Process.GetProcesses
        Try
            If proc.MainWindowTitle <> "" Then
                ImgList.Images.Add(Icon.ExtractAssociatedIcon(proc.MainModule.FileName))
                Dim lvi As New ListViewItem(proc.ProcessName, ImgList.Images.Count - 1)
                lvi.SubItems.Add(proc.MainModule.FileName)
                ListView1.Items.Add(lvi)
            End If

        Catch ex As Exception
        End Try
    Next

    'Processes
    For Each proc As Process In Process.GetProcesses
        Try
            ImgList.Images.Add(Icon.ExtractAssociatedIcon(proc.MainModule.FileName))
            Dim lvi As New ListViewItem(proc.ProcessName, ImgList.Images.Count - 1)
            lvi.SubItems.Add(proc.MainModule.FileName)
            ListView2.Items.Add(lvi)

        Catch ex As Exception
        End Try
    Next

Благодарю.Очень ценю.

...