Page 1 sur 2

Gestionnaire de services et processus

Publié : lun. 07/janv./2008 15:33
par Jacobus
Voici un nouvel utilitaire codé en pb 4.10, portable, gratuit et peut à l'occasion rendre service.

WolfoRanProcessID.exe
- Téléchargeable en un zip (WPID.zip) de 230 ko pour un exécutable de 584 ko.
- Testé avec succès sur DD externe et clé usb, il est donc portable.
- Fonctionne avec Windows Xp home et pro, 32 et 64 bits, et Vista.
Télécharger

Fonctions / utilités
- Informe sur les services et processus tournant sur votre système. (infos issues du net et de mes recherches comparées à plusieurs sources)
- Donne un accès rapide aux outils Windows (plus besoin de les chercher) 22 utilitaires.
- Liste les programmes lancés au démarrage du système avec option "Ajouter" et "Supprimer" (pratique et simple à utiliser). Idem pour les applications de la zone d'accès rapide.
- Crée des rapports texte avec options de choix des infos à inclure.


Screen Capture
Image

Voilà, merci de votre attention, @+

Publié : lun. 07/janv./2008 16:02
par Progi1984
Encore un bon produit en perspective, bien joué Jacobus.

Publié : lun. 07/janv./2008 17:15
par Anonyme2
Ca tourne sous Vista et on fait quoi ? :roll:

Plus de la moité avec des ? et de nombreux doublons pour ne pas dire plus.

Publié : lun. 07/janv./2008 17:16
par Oliv
Bravo 8O

Je t'ai envoyé une liste par email.
J'ai juste deux remarques : Il vaudrait mieux laisser les onglets on ne pas mettre de cases cochées car on a tendance à vouloir les cocher et rien ne se passe ;)
Quand on actualise les processus, les nouveaux arrivent à la fin et plus en ordre alphabétique


Sinon c'est vraiment bien fait !!!

Publié : lun. 07/janv./2008 18:27
par Jacobus
Merci pour vos appréciations les amis, j'apprécie.

@Progi84 : Merci. Quelques bricoles à ajouter et la première version (pour Xp) sera opérationnelle.

@Oliv : Nickel, bien reçu.
- Les cases à cocher sont justes des indicateurs pour connaître le container ouvert et sont validées par les hyperliens. Une fois qu'on a compris ça je pense que ça le fait. (ce sont d'ailleurs des icônes de Denis comme les mini sphères)
- J'ai oublié le tri des processus à l'actualisation, à rajouter.

@Denis : Ben c'est une surprise que ça tourne sous Vista, je ne pensais pas que la base de registre et les accès répertoires étaient les mêmes 8O
Comme je n'ai pas Vista je ne pourrais corriger quoi que ce soit.
- Est-ce-que dans "Tous les services" tu obtiens un arbre fonctionnel ? (listing des services inscrits dans le registre et accès aux infos)
- Les "?" je suppose que c'est dans les processus? mais sans le bon OS (pour l'instant) je ne vais pouvoir modifier mes procédures.

Pour ceux qui comme Oliv veulent bien me transmettre leurs processus non reconnus par le prog, je vais lui ajouter une fonction pour générer un texte file automatiquement, ce sera plus simple.
Merci à vous.

Publié : lun. 07/janv./2008 19:42
par Anonyme2
Excellent comme outils, même sous Vista

Ne fonctionne pas :
Volet outils Windows :
- Gestionnaire de sevices Windows
- Outil de config système
- Editeur de registre
- Défragmenteur (ne trouve pas le fichier)

Pour la page des imprimantes, ça s'ouvre mais ça reste sur la barre de tache, il faut cliquer sur le bouton pour afficher

Voici des aperçus des différents écrans, l'ensemble semble fonctionner, y compris les services.

Ne fonctionne pas avec les boutons :
- MSconfig
- Regedit

pour ces 2 points, tu peux peut-être lancer la fenêtre executer avec en ligne de commande Regedit et MSconfig car chez moi ça marche.

Image

Image

Image

Image

Image

Publié : lun. 07/janv./2008 21:04
par Jacobus
:D Sympa ces vues de Vista, y a pas va falloir que j'y morde.
Ca m'épate que ça fonctionne "relativement bien" d'autant que les programmes inaccessibles, ce n'est semble-t-il qu'un mauvais chemin.

Un petit code pour tester en comparaison avec l'emplacement sur Xp:

Code : Tout sélectionner

ProcedureDLL.s GetSystemDirectory()
  Path.s=Space(500)
  GetSystemDirectory_(@Path,500)
  ProcedureReturn Path
EndProcedure
Debug GetSystemDirectory() ;sur XP => C:\WINDOWS\system32
Debug "----------------------------------------"
If FileSize(GetPathPart(GetSystemDirectory())+"\pchealth\helpctr\binaries\msconfig.exe")<> -1 
 Debug "gestionnaire de configuration système - ok"
 Else 
 Debug "Pas de gestionnaire de configuration système"
EndIf 
Debug "----------------------------------------"
If FileSize(GetSystemDirectory()+"\services.msc")<> -1 
 Debug "gestionnaire de services - ok"
 Else 
 Debug "Pas de gestionnaire de services"
EndIf 
Debug "----------------------------------------"
If FileSize(GetPathPart(GetSystemDirectory())+"\regedit.exe")<> -1 
 Debug "Editeur du registre - ok"
 Else 
 Debug "Pas d'Editeur du registre"
EndIf 
Debug "----------------------------------------"
If FileSize(GetSystemDirectory()+"\dfrg.msc")<> -1
 Debug "Défragmenteur - ok"
 Else 
 Debug "Pas de Défragmenteur"
EndIf 
Debug "----------------------------------------" 
Tu peux ainsi voir si cela correspond ou non (normalement non) et si tu peux zieuter dans le répertoire de Windows pour me retourner le bon chemin, je le collerai en dur (temporairement) pour que ça fonctionne.

Concernant les processus c'est normal qu'il y ait des doublons, je pense à svchost.exe qui est un processus de processus (utilisé par plusieurs en même temps)
Par contre pour la récup des infos fichiers , ma procédure ne doit pas employer le bon code. Est-ce-que "Kernel32.dll" est toujours accessible dans Vista ??

@Oliv : j'ai intégré tes process dans la base, je mettrai une nouvelle version corrigée en ligne demain.
Vérifie dans ce que tu m'as transmis si ce n'est pas sched.exe plutôt que shed.exe :wink: ce dernier correspond à un élément de Microsoft (dev tool)

Je repasse demain, merci et @+

Publié : lun. 07/janv./2008 21:43
par Droopy
nickel sous XP :wink:

Publié : mar. 08/janv./2008 21:01
par Jacobus
Hello, j'ai mis une mise à jour en ligne téléchargeable sur le même lien du premier post.
News
- Corrigé quelques liens des Outils Windows.
- Ajouté des ID de processus
- Ajouté un bouton "Rapport" dans l'onglet "Processus en cours" permettant de générer des logs au format texte. Ces logs listent les process (nom; emplacement; taille et mémoire utilisée) Il est possible d'inclure les infos système au rapport par case à cocher. Les fichiers sont enregistrés et incrémentés automatiquement dans un dossier "LogProcess" créé dans le répertoire courant de l'application.

Si vous souhaitez me transmettre une liste des processus non reconnus, vous pouvez ainsi utiliser un "Rapport" texte auquel vous aurez retiré ce que vous voulez.

Merci et @+

Publié : mar. 08/janv./2008 21:16
par SpaceMan
Une version de test mais professionnel
bon boulot :wink:

Publié : mer. 09/janv./2008 18:01
par Anonyme2
Jacobus a écrit ::D Sympa ces vues de Vista, y a pas va falloir que j'y morde.
Ca m'épate que ça fonctionne "relativement bien" d'autant que les programmes inaccessibles, ce n'est semble-t-il qu'un mauvais chemin.

Un petit code pour tester en comparaison avec l'emplacement sur Xp:

Code : Tout sélectionner

ProcedureDLL.s GetSystemDirectory()
  Path.s=Space(500)
  GetSystemDirectory_(@Path,500)
  ProcedureReturn Path
EndProcedure
Debug GetSystemDirectory() ;sur XP => C:\WINDOWS\system32
Debug "----------------------------------------"
If FileSize(GetPathPart(GetSystemDirectory())+"\pchealth\helpctr\binaries\msconfig.exe")<> -1 
 Debug "gestionnaire de configuration système - ok"
 Else 
 Debug "Pas de gestionnaire de configuration système"
EndIf 
Debug "----------------------------------------"
If FileSize(GetSystemDirectory()+"\services.msc")<> -1 
 Debug "gestionnaire de services - ok"
 Else 
 Debug "Pas de gestionnaire de services"
EndIf 
Debug "----------------------------------------"
If FileSize(GetPathPart(GetSystemDirectory())+"\regedit.exe")<> -1 
 Debug "Editeur du registre - ok"
 Else 
 Debug "Pas d'Editeur du registre"
EndIf 
Debug "----------------------------------------"
If FileSize(GetSystemDirectory()+"\dfrg.msc")<> -1
 Debug "Défragmenteur - ok"
 Else 
 Debug "Pas de Défragmenteur"
EndIf 
Debug "----------------------------------------" 
Tu peux ainsi voir si cela correspond ou non (normalement non) et si tu peux zieuter dans le répertoire de Windows pour me retourner le bon chemin, je le collerai en dur (temporairement) pour que ça fonctionne.
Jacobus, Ca donne ça

Code : Tout sélectionner

C:\Windows\system32
----------------------------------------
Pas de gestionnaire de configuration système
----------------------------------------
gestionnaire de services - ok
----------------------------------------
Editeur du registre - ok
----------------------------------------
Pas de Défragmenteur
---------------------------------------- 
Le défragmenteur est ici

Code : Tout sélectionner

C:\Windows\System32\dfrgui.exe
MSconfig est ici

Code : Tout sélectionner

C:\Windows\System32\msconfig.exe
Jacobus a écrit : Par contre pour la récup des infos fichiers , ma procédure ne doit pas employer le bon code. Est-ce-que "Kernel32.dll" est toujours accessible dans Vista ??
Kernel32 est présent mais avec l'explorateur je ne le vois pas, pas trouvé comment afficher les fichiers systèmes...
J'ai fait un filesize() depuis PB et il est bien là

Code : Tout sélectionner

C:\Windows\System32\Kernel32.dll")
A+
Denis

Publié : mer. 09/janv./2008 20:13
par Jacobus
Ok, je vois que Kernel32.dll est au même endroit sous Xp ou Vista. Le problème vient apparemment de l'introduction d'une protection des processus avec Vista, limitant les accès.
Protected Processes

Windows Vista introduces protected processes to enhance support for Digital Rights Management. The system restricts access to protected processes and the threads of protected processes.

The following standard access rights are not allowed from a process to a protected process:

DELETE
READ_CONTROL
WRITE_DAC
WRITE_OWNER

The following specific access rights are not allowed from a process to a protected process:

PROCESS_ALL_ACCESS
PROCESS_CREATE_PROCESS
PROCESS_CREATE_THREAD
PROCESS_DUP_HANDLE
PROCESS_QUERY_INFORMATION
PROCESS_SET_INFORMATION
PROCESS_SET_QUOTA
PROCESS_VM_OPERATION
PROCESS_VM_READ
PROCESS_VM_WRITE

The PROCESS_QUERY_LIMITED_INFORMATION right was introduced to provide access to a subset of the information available through PROCESS_QUERY_INFORMATION.
et PROCESS_QUERY_LIMITED_INFORMATION n'est pas une constante déclarée dans PB,...Arf :?
Voir ici :
http://msdn2.microsoft.com/en-us/librar ... S.85).aspx

Pour les outils windows, c'est Ok je vais modifier en conséquence.

Code simple à essayer sur Vista pour voir s'il affiche les répertoires système, à tout hasard.

Code : Tout sélectionner

Enumeration 
#WIN
#BtnSystem
#BtnSystem32
#SystemExplorer
#StringSystemExplorerPath
EndEnumeration

ProcedureDLL.s GetSystemDirectory()
  Path.s=Space(500)
  GetSystemDirectory_(@Path,500)
  ProcedureReturn Path
EndProcedure

Global System32$,System$
System32$ = GetSystemDirectory()+"\*.*"
System$   = GetPathPart(GetSystemDirectory())+"system\*.*"

ExamineDesktops()
  Largeur$ = Str(DesktopWidth(0))
  Hauteur$ = Str(DesktopHeight(0))
  WinX = 1014
  WinY = 718
  If Val(Largeur$)>1024 And Val(Hauteur$)>768
    FlagWin = #PB_Window_SystemMenu|#PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget|#PB_Window_ScreenCentered|#PB_Window_TitleBar
  Else 
    FlagWin = #PB_Window_SystemMenu|#PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget|#PB_Window_TitleBar
  EndIf
If OpenWindow(#WIN,0,0,WinX,WinY,"SystemExplorer" ,FlagWin)=0 Or CreateGadgetList(WindowID(#WIN))=0 
End 
EndIf
  ButtonGadget(#BtnSystem,5,5,70,25,"System")
  ButtonGadget(#BtnSystem32,80,5,70,25,"System32")
  ExplorerListGadget(#SystemExplorer, 5, 30, 1004, 663, "",#PB_Explorer_MultiSelect);|#PB_Explorer_NoParentFolder )
  ChangeListIconGadgetDisplay(#SystemExplorer, #PB_ListIcon_LargeIcon)
  StringGadget(#StringSystemExplorerPath,5,694,1004,20,"")
Repeat 
 Event = WaitWindowEvent() 
  Select Event 
   
   Case #PB_Event_Gadget 
     Select EventGadget()
     
     Case #BtnSystem 
      SetGadgetText(#SystemExplorer,System$)
      SetGadgetText(#StringSystemExplorerPath,GetGadgetText(#SystemExplorer))
     
     Case #BtnSystem32  
      SetGadgetText(#SystemExplorer,System32$)
      SetGadgetText(#StringSystemExplorerPath,GetGadgetText(#SystemExplorer))

     EndSelect 
  EndSelect 
  
  If Event=#PB_Event_CloseWindow 
    quit=#True
  EndIf 

Until quit=#True
End 


@+

Publié : lun. 14/janv./2008 10:06
par GG
Serait-il possible de pouvoir mettre le programme en plein écran ?

Au niveau services, pas de commentaires sur le seul service :

Pare feu Windows / Partage de connexion Internet

Au niveau processus (rien dans processus non répertorié) :

cvspnd.exe (client VPN Cisco)
mgabg.exe (pilote Matrox Millenium)
SAVAdminservice.exe (Fait partie du Pack Sophos AntiVirus)
Neufgiga.exe (outil Neuf Giga du FAI Neuf Telecom)
dnetc.exe (client RC5 Distributed.net, calcul en mode distribué)
arj32.exe (compresseur arj)
pspad.exe (editeur de texte PSPAD)
Greenbrowser (Navigateur Internet avec moteur IE)
notepad.exe (celui de Windows)
excel.exe, Outlook.exe (celui de Office 2000)
Todolist.exe (excellent gestionnaires de tâches, projets, www.codeproject.com/todolist2.asp)
Izarc (compresseur, concurrent de WinZip, www.izarc.org)

Voila pour l'instant.

Publié : lun. 14/janv./2008 19:50
par Jacobus
Salut GG
Serait-il possible de pouvoir mettre le programme en plein écran ?
Oui, c'est prévu pour la version finale.
Pare feu Windows / Partage de connexion Internet
C'est corrigé (pas encore téléchargeable), une bourde de la taille d'un space(1) et ça déconne... Merci de l'avoir noté.

Merci pour la petite liste, les process seront ajoutés à la base après recherches.
Il y en a tellement (des milles et des milles) :roll: que c'est un boulot de tâcheron de les répertorier, pfffou....

@+

Publié : mar. 15/janv./2008 16:54
par GG
OK, parfait. :D

Puisque c'est comme ça, j'en rajoute une couche :

r2win.exe (Reflection : Client telnet/SSH VMS/UNIX de la société WRQ)
poiedit.exe (POIedit : Editeur de points d'intérêts pour les GPS)
Wincvs.exe : (WINCVS : Interface graphique pour le gestionnaire de sources CVS)
WolforanprocessId.exe : Je te laisse compléter... :)