IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

Lire le nom d'un processus


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut Lire le nom d'un processus
    Bonjour,

    J'arrive à travailler avec le gestionnaire de tâche (lire les processus et killer un processus, mais je n'arrive pas à remonter le nom du processus en lui-même et l'inscrire dans une zone de texte.

    COmment je peux faire?

    merci

  2. #2
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    J'ignore la méthode que tu utilise pour lire les processus en cours...
    Si tu utilises la même que la mienne, je ne comprends pas ou est le problème (passer nom_du_processus à une textbox !)
    mes processus sont affichés dans une listbox...
    Ta question se réduirait alors à celle-ci :

    Comment afficher dans une textbox le texte d'un article sélectionné dans une listbox ?

    Si tel est finalement le problème réel :

    1) modifie ton titre (les processus n'ont rien à voir avec ta question, qui pourrait concerner n'importe quelle listbox contenant n'importe quoi d'autre)

    2) une recherche avancée sur ce forum te permettrra d'aboutir à des dizaines de réponses

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    J'arrive à travailler avec le gestionnaire de tâche (lire les processus ...)
    Si tu arrives à les lire, précise ton problème.
    Par contre, ce qui intéresserait certains (dont je suis) c'est le code correspondant à ton sujet Ainsi tu n'aurais pas besoin de changer de sujet...

    Tu dis

    A+

  4. #4
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    bonjour ouskel'n'or
    trop compliqué de le faire ici et je ne veux pas encombrer..
    tu veux celà par MP ?

  5. #5
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    Voici le code que j'utilise:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
     
     
     
     
    Private Type PROCESSENTRY32
    dwSize As Long
    cntUsage As Long
    th32ProcessID As Long
    th32DefaultHeapID As Long
    th32ModuleID As Long
    cntThreads As Long
    th32ParentProcessID As Long
    pcPriClassBase As Long
    dwFlags As Long
    szExeFile As String * 260
    End Type
     
    'Déclarations d'API
    Private Declare Function CreateToolhelp32Snapshot Lib "Kernel32" (ByVal lFlags As Long, ByVal lProcessID As Long) As Long
    Private Declare Function Process32First Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
    Private Declare Function Process32Next Lib "Kernel32" (ByVal hSnapShot As Long, uProcess As PROCESSENTRY32) As Long
    Private Declare Function CloseHandle Lib "Kernel32.dll" (ByVal Handle As Long) As Long
    Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
    Private Declare Function TerminateProcess Lib "Kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
     
     
    ***************
    Private SUb Méthode()
     
    Dim Processus As PROCESSENTRY32
        Capture = CreateToolhelp32Snapshot(2, 0)
        'Capture permete de parcourir la liste des processus du système
        Processus.dwSize = Len(Processus)
     
        courant = Process32First(Capture, Processus)
        Do While courant
            If Left$(Processus.szExeFile, IIf(InStr(1, Processus.szExeFile, Chr$(0)) > 0, InStr(1, Processus.szExeFile, Chr$(0)) - 1, 0)) = "Projet1.exe" Then
                'Si "Scan.exe" est trouvé dans les processus du système, le parcours des processus s'arrete là
                courant = False
            Else
                'Processus suivant
                courant = Process32Next(Capture, Processus)
            End If
        Loop
     
        CloseHandle Capture
     
        'Si "Projet1.exe" a été trouvé, courant=False puisqu'on a manuellement définit cette valeur pour arreter la boucle ; dans ce cas, TypeName(courant)="Boolean"
        'Si "Projet1.exe" n'a pas été trouvé, la boucle est allée jusqu'au dernier processus du système ; dans ce cas, TypeName(courant)="Long" car courant=0
     
        If TypeName(courant) = "Boolean" Then
        Identifiant = OpenProcess(1, 0, Processus.th32ProcessID)
        TerminateProcess Identifiant, 0
        CloseHandle Identifiant
        End If
     
        Unload Me
     
    End Sub
    J'arrive donc par ce code à rentrer dans le gestionnaire de tâche et à killer le processus qui porte le nom Projet1.exe.

    Ce que je voudrais faire, c'est faire une boucle qui lise un à un les processus actifs et me les affiche dans une zone de texte.

  6. #6
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Fait une recherche sur la fonction API EnumProcesses

  7. #7
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    ou ces 4 APIs là , travaillant en parallèle :

    GetWindow
    GetWindowTextLength
    GetWindowText
    GetParent

    Si tu es audacieux....

  8. #8
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Sinon, j'ai un truc rigolo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Command1_Click()
        Dim svc As Object
        Dim sQuery As String
        Dim oproc
        Set svc = GetObject("winmgmts:root\cimv2")
        sQuery = "select * from win32_process"
        For Each oproc In svc.execquery(sQuery)
            Debug.Print oproc.Name
        Next
        Set svc = Nothing
    End Sub
    ca t'en bouche un coin, hein, jmf

  9. #9
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    et il fait quoi ton code ?

  10. #10
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    A thierry uniquement :
    Aucun, sinon le seul processus en cours, et encore... limité à l'exe du processus principal
    PS : (tu as beaucoup mieux entre les mains...)

  11. #11
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par jmfmarques
    A thierry uniquement :
    Aucun, sinon le seul processus en cours, et encore... limité à l'exe du processus principal
    PS : (tu as beaucoup mieux entre les mains...)
    Pardon ??

    Citation Envoyé par fenêtre de deboggage de VB6
    System Idle Process
    System
    smss.exe
    csrss.exe
    winlogon.exe
    services.exe
    lsass.exe
    ati2evxx.exe
    svchost.exe
    svchost.exe
    svchost.exe
    EvtEng.exe
    S24EvMon.exe
    svchost.exe
    svchost.exe
    spoolsv.exe
    scardsvr.exe
    ZCfgSvc.exe
    ati2evxx.exe
    explorer.exe
    S7ubTstx.exe
    bdmcon.exe
    bdoesrv.exe
    Apoint.exe
    tfswctrl.exe
    ApntEx.exe
    dbsrv7.exe
    BAsfIpM.exe
    inetinfo.exe
    mdm.exe
    sqlservr.exe
    NA_Service.exe
    NicConfigSvc.exe
    NA_XWAY.exe
    RegSrvc.exe
    s7asysvx.exe
    s7oiehsx.exe
    sim9sync.exe
    svchost.exe
    xcommsvr.exe
    almsrvx.exe
    bdss.exe
    livesrv.exe
    sqlagent.EXE
    wmiprvse.exe
    vsserv.exe
    alg.exe
    1XConfig.exe
    ctfmon.exe
    msimn.exe
    firefox.exe
    VB6.EXE
    wmiprvse.exe
    Win XP SP2, mais je te teste ça dans les 2 mn sous Win2000

    EDIT : Fonctionne aussi parfaitement sous Win2k SP4

  12. #12
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par Asdorve
    et il fait quoi ton code ?
    J'aime mieux pas répondre, je risquerais d'être désagréable

  13. #13
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tiens sous W2k
    System Idle Process
    System
    SMSS.EXE
    CSRSS.EXE
    WINLOGON.EXE
    SERVICES.EXE
    LSASS.EXE
    svchost.exe
    spoolsv.exe
    svchost.exe
    gearsec.exe
    NA_Service.exe
    NA_XWAY.exe
    ntrtscan.exe
    regsvc.exe
    RsiSvc.exe
    SrScanDr.exe
    mstask.exe
    spnsrvnt.exe
    SOption.exe
    tmlisten.exe
    PQV2iSvc.exe
    WinMgmt.exe
    svchost.exe
    OfcDog.exe
    DdsSchedNT.exe
    svchost.exe
    scardsvr.exe
    explorer.exe
    fpdisp4.exe
    fppdis1.exe
    PccNTMon.exe
    qttask.exe
    SyncroAd.exe
    WinSync.exe
    nlnotes.exe
    PccNTUpd.exe
    AlarmApp.exe
    mstsc.exe
    ntaskldr.exe
    IEXPLORE.EXE
    EXCEL.EXE
    agentsvr.exe

  14. #14
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    Désolé pour ma question idiote...

    Je viens d'arriver à faire ce que je voulais (grace à ton code)

    Merci bcp

    @+

  15. #15
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    >>bbil :
    Citation Envoyé par Thierry
    EDIT : Fonctionne aussi parfaitement sous Win2k SP4
    Mais tu avais peut-etre pas vu, alors merci quand même

    Cependant, après une petite discussion rapide sur skype avec jmf, il semblerait que ce code ne fonctionne pas avec VB5

    Qqun peut-il confirmer :

  16. #16
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Et ça marche en VBA97 sous xp

    System Idle Process
    System
    smss.exe
    csrss.exe
    winlogon.exe
    services.exe
    lsass.exe
    svchost.exe
    svchost.exe
    svchost.exe
    svchost.exe
    ccSetMgr.exe
    ccEvtMgr.exe
    spoolsv.exe
    awhost32.exe
    DefWatch.exe
    ngctw32.exe
    SavRoam.exe
    svchost.exe
    Rtvscan.exe
    ssonsvr.exe
    explorer.exe
    jusched.exe
    soundman.exe
    ccApp.exe
    VPTray.exe
    hpgs2wnd.exe
    ctfmon.exe
    AcroTray.exe
    jucheck.exe
    hpgs2wnf.exe
    Eudora.exe
    excel.exe
    IEXPLORE.EXE
    winword.exe
    wmiprvse.exe


  17. #17
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    Est-ce qu'il y a moyen de lire le nom des applications en cours au lieu des processus?

  18. #18
    Expert confirmé
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Par défaut
    Citation Envoyé par Asdorve
    Est-ce qu'il y a moyen de lire le nom des applications en cours au lieu des processus?
    cela m'aurait fort étonné que tu ne poses pas la question

    pour l'instant je n'en sais rien, alors cherche un peu de ton coté

  19. #19
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    Je cherche, je cherche, mais je trouve pas forcément... Dsl, personne n'est parfait.

  20. #20
    Inactif  
    Avatar de jmfmarques
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 3 784
    Par défaut
    cela m'aurait fort étonné que tu ne poses pas la question
    Suis dans le même cas !
    et tout celà me rappelle une très récente conversation

    Maintenant, Asdorve :
    Tu mesures bien le distinguo entre processus et applications en cours...Il est de taille !

    Enfin et surtout, ne serais-tu tout simplement pas en train de tenter d'écrire un code non pour recenser les applications en cours, mais plus simplement pour vérifier qu'une application particulière (que tu connais) est ou n'est pas déjà ouverte... pour ne pas la relancer, par exemple, ... ou pour la fermer... ?

    Si tel est le cas, il faut le dire, car tout est alors plus simple à mettre en oeuvre...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Base de registre : Lire le 'nom de Valeur' d'une clé
    Par yosthegost dans le forum Delphi
    Réponses: 17
    Dernier message: 09/01/2016, 10h42
  2. Récuperer le handle depuis le nom d'un processus
    Par dacid dans le forum API, COM et SDKs
    Réponses: 5
    Dernier message: 13/04/2006, 10h16
  3. Réponses: 16
    Dernier message: 03/04/2006, 17h24
  4. Lire le nom du répertoire courant !
    Par Feustine dans le forum Langage
    Réponses: 2
    Dernier message: 17/08/2005, 14h33
  5. Comment lire le nom d'un fichier ?
    Par Mister_FX dans le forum ASP
    Réponses: 2
    Dernier message: 13/05/2005, 10h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo