Forum Clubic

Process List Dans ComboBox Visual Basic

(Eh oui une autre question),

Tout d’abord, je mentionne que je suis sur Visual Basic 2008 Express,
Et comme le dit si bien le titre, je voudrais savoir comment afficher la liste des processus Windows dans ma ComboBox1.
La même que quand on fait ctrl+alt+delete -­> Processes.

Merci de votre aide,

QuickStuff.

Fait rapido (histoire de refaire un peu de .net) :


Public Class process_t
    Private szName As String
    Private szID As String
    Private szPriority As String

    Public Property Name() As String
        Get
            Return Me.szName
        End Get
        Set(ByVal value As String)
            Me.szName = value
        End Set
    End Property

    Public Property ID() As String
        Get
            Return Me.szID
        End Get
        Set(ByVal value As String)
            Me.szID = value
        End Set
    End Property

    Public Property Priority() As String
        Get
            Return Me.szPriority
        End Get
        Set(ByVal value As String)
            Me.szPriority = value
        End Set
    End Property
End Class

<Serializable()> Public Class listeProcess
    Inherits ArrayList

    Public Sub New()
    End Sub

    Public Function Ajouter(ByVal unProcess As process_t)
        If unProcess IsNot Nothing Then
            Try
                Me.Add(unProcess)
                Return True

            Catch ex As Exception
                Throw New Exception(ex.Message)
            End Try
        End If

        Return False
    End Function

    Public Function Supprimer(ByVal unProcess As process_t)
        If unProcess IsNot Nothing Then
            Try
                Me.Remove(unProcess)
                Return True

            Catch ex As Exception
                Throw New Exception(ex.Message)
            End Try
        End If

        Return False
    End Function

    Public Sub Vider()
        Me.Clear()
    End Sub

End Class

Public Class Form3

    Private Sub ListProcesses(ByVal lstProcess As listeProcess)
        Dim ps() As Process

        Try
            ps = Process.GetProcesses()

            Dim p As Process
            For Each p In ps
                Dim cur_process As New process_t

                cur_process.Name = p.ProcessName
                cur_process.ID = p.Id.ToString
                cur_process.Priority = p.BasePriority.ToString

                lstProcess.Ajouter(cur_process)
            Next p

        Catch e As Exception
            MessageBox.Show(e.Message)
        End Try

    End Sub

    Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim lstProcess As New listeProcess

        ListProcesses(lstProcess)
        cboProcess.DataSource = Nothing
        cboProcess.DataSource = lstProcess
        cboProcess.DisplayMember = "Name"

    End Sub

End Class

Erreur 1 L’événement ‘Load’ est introuvable.
Erreur 2 Le nom ‘cboProcess’ n’est pas déclaré.
Erreur 3 Le nom ‘cboProcess’ n’est pas déclaré.
Erreur 4 Le nom ‘cboProcess’ n’est pas déclaré.

Alors :

1 - Déjà, ce n’est pas trop mon habitude de coder sur demande,
2 - Du coup, je me suis dit que tu allais au moins faire le reste : ajouter le formulaire et la combobox avec les noms qui vont bien …
3 - Encore une fois, on ne m’y reprendras plus.

En fait jsuis débutant, donc je sais pas trop comment tout ça fonctionne x’), mais si tu prendrais le temps de m’expliquer, ça serait bien gentil.

Merci à l’avance.

Je ne comprends pas trop l’intérêt de ton process_t KarlKox. Pourquoi tu n’assignes pas directement tes objets Process à la datasource du combobox ? :slight_smile:

C’est le reste du C : coding style gnu, peut pas m’en empêcher :wink: