nom des programmes en cours d'éxécution sans gestionnaire

Partagez votre expérience de PureBasic avec les autres utilisateurs.
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

nom des programmes en cours d'éxécution sans gestionnaire

Message par david »

ps: avant tout je ne suis pas en ADMINISTRATEUR et ne peut donc pas ouvrir le gestionnaire de programme ou les outils classiques de windows xp...

J'ai trouvé sur le site des codes qui me donnent le nom "d'affichage" des fenetres ouvertes (genre "PureBasic - Internet Explorer"), mais j'ai besoin de connaitre:

le nom du programme lancé sous la forme "Calc.exe" et non pas uniquement son nom d'affichage "Calculette Euro")
voire même le chemin duquel il a été lancé "C:\Programm Files\Outils\Calc.exe"

pour tous les programmes qui tournent actuellement sur le PC (soient en premier plan, soit réduits, soit iconisé)
En bref tout ce que windows a lancé au démarrage sur lequel je n'ai pas de visibilité

Si quelqu'un peut m'aider
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par falsam »

Bonjour. Tu peux te servir de WMI pour lister les process en cours d'utilisation

Code : Tout sélectionner

IncludeFile "WMIQuery.pbi"

NewList WMIResult.WMIClass()


If WMIQuery("select Caption, ExecutablePath from Win32_Process", WMIResult())
  ForEach WMIResult()
    Debug WMIResult()\Property + "=" + WMIResult()\Value
  Next
EndIf
Tu touveras l'include sur ce lien : http://www.purebasic.fr/french/viewtopi ... =6&t=13185
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par david »

Ouah, ça donne effectivement pas mal d'indications...
Par contre, dans la liste que je récupère, il y a des choses qui n'apparaissent pas (comme le Volume (iconisé), ou l'affichage de l'heure (iconisé), etc...)

Je vais regarder dans les nombreux exemples d'appels de WMIQuery.pbi si je vois qq chose
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par falsam »

la classe Win32_Process est décrite en français sur ce lien
http://www.secretswindows.com/index.php ... rocess.htm

Tu pourras demander plus d'information dans ta requête WMI
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par falsam »

david a écrit :il y a des choses qui n'apparaissent pas (comme le Volume (iconisé), ou l'affichage de l'heure (iconisé), etc...)
Qu'est ce que le Volume (Iconisé) ? Heure (Iconisé) ?
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par david »

voici la liste des éléments qui ne figurent pas dans l'affichage des résultats:

- J'ai un petit dessin dans la barre en bas à droite qui ressemble a un haut-parleur, si je passe le curseur dessus il affiche "haut-parleur" et si je clique je peux régler le volume
- Il y a également l'heure dans la même zone, si je passe le curseur dessus il affiche la date
- il y a également McAfee, si je clique il me donne les options..
- il y a également un Controle a distance LANDesk, si je clique il me donne les options..

est-ce que c'est parcequ'ils ne sont pas exécutés de la même façon par windows...?
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par falsam »

J’espère ne pas dire de bêtises !!!. Une icone dans ta zone de notification est soit un programme que tu trouveras dans la liste des process, mais je pense qu'on peut aussi trouver des programmes qui s’exécutent sous forme de services Windows.

Tu peux obtenir la liste des services avec une requête WMI.

Code : Tout sélectionner

IncludeFile "WMIQuery.pbi"

NewList WMIResult.WMIClass()

If WMIQuery("select Caption, Description, PathName from Win32_Service", WMIResult())
  ForEach WMIResult()
    Debug WMIResult()\Property + "=" + WMIResult()\Value
  Next
EndIf
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
david
Messages : 208
Inscription : jeu. 03/févr./2005 21:10

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par david »

la liste est beaucoup plus importante qu'avant, mais les 4 éléments listés dans le message précédent n'apparaissent toujours pas

pour le vérifier, comme je n'arrive pas forcément à identifier tous les éléments de la liste, je les "Kill" avec le programme aménagé ci-dessous pour voir si l'icone apparait toujours
-> elles sont peut-etre masquées contre l'affichage ou protégées contre le "Kill"

Code : Tout sélectionner

DisableASM
;EnableExplicit


nameprog$=InputRequester("Killer de Prog","Entrez le nom du Progr a Killer","EXCEL.EXE")
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+
Procedure KillProcess(pid.i)
;
  Define phandle.i
  Define result.b = #False
  phandle = OpenProcess_($1, #False, pid)
  If phandle <> #Null
    If TerminateProcess_(phandle, 1)
      result = #True
    EndIf
    CloseHandle_(phandle)
  EndIf 
  ProcedureReturn result
EndProcedure
Procedure.l GetProcessPidByName(sfilename.s) 
;
  Protected snap.l
  Protected uProcess.PROCESSENTRY32
  Protected lkernel32.l 
  sfilename = GetFilePart(sfilename)
  lkernel32 = OpenLibrary (#PB_Any, "kernel32.dll")
  If lkernel32
    snap = CreateToolhelp32Snapshot_($2, $0)
    If snap <> 0
      uProcess\dwSize = SizeOf(PROCESSENTRY32)
      If CallFunction (lkernel32, "Process32First", snap, @uProcess)
        While CallFunction (lkernel32, "Process32Next", snap, @uProcess)
          If PeekS(@uProcess\szExeFile) = sfilename
            CloseHandle_(snap)
            CloseLibrary(lkernel32)
            ProcedureReturn uProcess\th32ProcessID
          EndIf
        Wend
      EndIf
      CloseHandle_(snap)
    EndIf
    CloseLibrary(lkernel32)
  EndIf
  ProcedureReturn #False
EndProcedure
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; ****************************************************************************
; +--------------------------------------------------------------------------+
; |                                                                          |
; +--------------------------------------------------------------------------+
Define lProcess = GetProcessPidByName(nameprog$)
If lProcess <> 0
  KillProcess(lProcess)
EndIf
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: nom des programmes en cours d'éxécution sans gestionnair

Message par falsam »

david a écrit :voici la liste des éléments qui ne figurent pas dans l'affichage des résultats:

- J'ai un petit dessin dans la barre en bas à droite qui ressemble a un haut-parleur, si je passe le curseur dessus il affiche "haut-parleur" et si je clique je peux régler le volume
- Il y a également l'heure dans la même zone, si je passe le curseur dessus il affiche la date
- il y a également McAfee, si je clique il me donne les options..
- il y a également un Controle a distance LANDesk, si je clique il me donne les options..
Un code de Luis sur le forum Anglais qui te permet de lister les process de la zone de notification.
Lien : http://www.purebasic.fr/english/viewtop ... 12&t=51549
par contre il faut compiler ce code avec Pure Basic 64 Bits. Fonctionne sous Windows 7.
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
Répondre