Ça fait plus d'une heure que je lis le Net en Français, sans réellement
trouver : Comment lister les processus actifs ?
Exemple, j'ai un exe A qui lance un exe B et un exe C, je dois donc
avoir au moins ces 3 processus actifs (visualisable par <Ctrl>+<Alt>+<Del>)
"A, B et C), donc, disons dans list1, comment lui envoyer le nom de tous les
processus actif (nom.extension), ceci au plus simple, VB ou API, merci ???
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc
On 16 sep, 05:56, "LE TROLL" <le wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance (et en français en plus!), il y a des dizaines d'exemples tout prêt :-)
Aller, en voici un (pas testé par moi!) : http://www.vbfrance.com/codes/R AM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
On 16 sep, 05:56, "LE TROLL" <le tr...@enfer.fr> wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement
trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les
processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance
(et en français en plus!), il y a des dizaines d'exemples tout
prêt :-)
Aller, en voici un (pas testé par moi!) : http://www.vbfrance.com/codes/R AM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance (et en français en plus!), il y a des dizaines d'exemples tout prêt :-)
Aller, en voici un (pas testé par moi!) : http://www.vbfrance.com/codes/R AM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Merci de ta réponse, c'est vrai qu'il y en a un peu, mais il ne font pas ce que je cherche (juste lister). Ils font tous plein d'autres choses, alors sans connaitre ces fonctions, ces dll, ces constantes, souvent, seulement "bien" documentées qu'en anglais, et puis ensuite tout tester ne me disait rien, je cherchais du simple... Je vais voir le code proposé, mais déjà j'y vois un module, comme s'il fallait rajouter une form (bas), histoire de promener ces yeux entre deux sources, et ils sont tous sur ce genre, on devrait pouvoir enlever 75% du code que ça marcherait encore... euh, je présume...
Cordialement ;o)
_______________________ . .
"Jean-Marc" a écrit dans le message de news: On 16 sep, 05:56, "LE TROLL" <le wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance (et en français en plus!), il y a des dizaines d'exemples tout prêt :-)
Aller, en voici un (pas testé par moi!) : http://www.vbfrance.com/codes/RAM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Merci de ta réponse, c'est vrai qu'il y en a un peu, mais il ne font pas
ce que je cherche (juste lister).
Ils font tous plein d'autres choses, alors sans connaitre ces fonctions, ces
dll, ces constantes, souvent, seulement "bien" documentées qu'en anglais, et
puis ensuite tout tester ne me disait rien, je cherchais du simple...
Je vais voir le code proposé, mais déjà j'y vois un module, comme s'il
fallait rajouter une form (bas), histoire de promener ces yeux entre deux
sources, et ils sont tous sur ce genre, on devrait pouvoir enlever 75% du
code que ça marcherait encore... euh, je présume...
Cordialement ;o)
_______________________
.
.
"Jean-Marc" <jeanmarcnoury@gmail.com> a écrit dans le message de
news:fa17d036-9fc0-48bd-b715-6e2555e8a511@o36g2000vbl.googlegroups.com...
On 16 sep, 05:56, "LE TROLL" <le tr...@enfer.fr> wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement
trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les
processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance
(et en français en plus!), il y a des dizaines d'exemples tout
prêt :-)
Aller, en voici un (pas testé par moi!) :
http://www.vbfrance.com/codes/RAM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Merci de ta réponse, c'est vrai qu'il y en a un peu, mais il ne font pas ce que je cherche (juste lister). Ils font tous plein d'autres choses, alors sans connaitre ces fonctions, ces dll, ces constantes, souvent, seulement "bien" documentées qu'en anglais, et puis ensuite tout tester ne me disait rien, je cherchais du simple... Je vais voir le code proposé, mais déjà j'y vois un module, comme s'il fallait rajouter une form (bas), histoire de promener ces yeux entre deux sources, et ils sont tous sur ce genre, on devrait pouvoir enlever 75% du code que ça marcherait encore... euh, je présume...
Cordialement ;o)
_______________________ . .
"Jean-Marc" a écrit dans le message de news: On 16 sep, 05:56, "LE TROLL" <le wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance (et en français en plus!), il y a des dizaines d'exemples tout prêt :-)
Aller, en voici un (pas testé par moi!) : http://www.vbfrance.com/codes/RAM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Comme je le disais, d'une complexité inutile, dans la form t'as environ 5 lignes car tout est dans le module, comme si pour ce programme on ne pouvait pas tout mettre dans une seule feuille, et idem, y 3 pages de code, et faut trier là dedans le bon code... Les processus n'ont pas leur nom d'extension, parfois il y a un blanc devant le nom (trim(x)) à faire, en pagaille (pas de tri)...
form1 Private Sub Command1_Click() Module1.ListVisibleWindowstxt Text1 Module1.ListAllWindowstxt Text4 Text2.Text = Module1.GetFreeMemory Text3.Text = Module1.TotalMemory End Sub ' la form sert juste à cliquer le bouton, pas glop pas glop !
----------------------
module1.bas
'Declaration des API Public Declare Function IsWindowVisible Lib "user32" (ByVal Handle As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS) Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Type MEMORYSTATUS dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type
'Pour obtenir la memoire total Function TotalMemory() Dim MS As MEMORYSTATUS MS.dwLength = Len(MS) GlobalMemoryStatus MS TotalMemory = Int(MS.dwTotalPhys / 1000000) & " Mo" End Function
'Pour obtenir la memoire libre Function GetFreeMemory() Dim MS As MEMORYSTATUS
MS.dwLength = Len(MS) GlobalMemoryStatus MS GetFreeMemory = MS.dwAvailPhys & " octets de mémoire libres" End Function
'Liste tout les fenetre (visible ou pas) dans un controle Texte Box Function ListAllWindowstxt(txtbox As TextBox) Dim hwnd As Long Dim Titre_Fenetre As String * 255 Dim TitreFen As String Dim ret As Long Dim I As Integer
Do While (Not IsNull(hwnd)) And (hwnd <> 0) Titre_Fenetre = String(255, 0)
ret = GetWindowText(hwnd, Titre_Fenetre, 255) If Titre_Fenetre <> String(255, 0) Then TitreFen = Titre_Fenetre TitreFen = Left(TitreFen, ret) txtbox.Text = txtbox.Text & TitreFen & vbCrLf End If hwnd = GetWindow(hwnd, GW_HWNDNEXT) Loop End Function
Function ListVisibleWindowstxt(txtbox As TextBox) Dim hwnd As Long Dim Titre_Fenetre As String * 255 Dim TitreFen As String Dim ret As Long Dim I As Integer
Do While (Not IsNull(hwnd)) And (hwnd <> 0) Titre_Fenetre = String(255, 0)
ret = GetWindowText(hwnd, Titre_Fenetre, 255) If Titre_Fenetre <> String(255, 0) Then TitreFen = Titre_Fenetre TitreFen = Left(TitreFen, ret) If IsWindowVisible(hwnd) Then txtbox.Text = txtbox.Text & TitreFen & vbCrLf End If End If hwnd = GetWindow(hwnd, GW_HWNDNEXT) Loop
End Function
-------------------------------
N'est-ce pas que ça fait un peu compliqué pour avoir juste la liste des processus, et tous les exemples sont un peu de cet ordre... Bon, je vais tenter de l'utiliser néanmoins... en testant, ça occupe...
Cordialement ;o)
_______________________ . .
"Jean-Marc" a écrit dans le message de news: On 16 sep, 05:56, "LE TROLL" <le wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance (et en français en plus!), il y a des dizaines d'exemples tout prêt :-)
Aller, en voici un (pas testé par moi!) : http://www.vbfrance.com/codes/RAM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Comme je le disais, d'une complexité inutile, dans la form t'as environ
5 lignes car tout est dans le module, comme si pour ce programme on ne
pouvait pas tout mettre dans une seule feuille, et idem, y 3 pages de code,
et faut trier là dedans le bon code... Les processus n'ont pas leur nom
d'extension, parfois il y a un blanc devant le nom (trim(x)) à faire, en
pagaille (pas de tri)...
form1
Private Sub Command1_Click()
Module1.ListVisibleWindowstxt Text1
Module1.ListAllWindowstxt Text4
Text2.Text = Module1.GetFreeMemory
Text3.Text = Module1.TotalMemory
End Sub ' la form sert juste à cliquer le bouton, pas glop pas glop !
----------------------
module1.bas
'Declaration des API
Public Declare Function IsWindowVisible Lib "user32" (ByVal Handle As Long)
As Long
Private Declare Function GetDesktopWindow Lib "user32" () As Long
Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal
wCmd As Long) As Long
Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As
MEMORYSTATUS)
Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA"
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Type MEMORYSTATUS
dwLength As Long
dwMemoryLoad As Long
dwTotalPhys As Long
dwAvailPhys As Long
dwTotalPageFile As Long
dwAvailPageFile As Long
dwTotalVirtual As Long
dwAvailVirtual As Long
End Type
'Pour obtenir la memoire total
Function TotalMemory()
Dim MS As MEMORYSTATUS
MS.dwLength = Len(MS)
GlobalMemoryStatus MS
TotalMemory = Int(MS.dwTotalPhys / 1000000) & " Mo"
End Function
'Pour obtenir la memoire libre
Function GetFreeMemory()
Dim MS As MEMORYSTATUS
MS.dwLength = Len(MS)
GlobalMemoryStatus MS
GetFreeMemory = MS.dwAvailPhys & " octets de mémoire libres"
End Function
'Liste tout les fenetre (visible ou pas) dans un controle Texte Box
Function ListAllWindowstxt(txtbox As TextBox)
Dim hwnd As Long
Dim Titre_Fenetre As String * 255
Dim TitreFen As String
Dim ret As Long
Dim I As Integer
Do While (Not IsNull(hwnd)) And (hwnd <> 0)
Titre_Fenetre = String(255, 0)
ret = GetWindowText(hwnd, Titre_Fenetre, 255)
If Titre_Fenetre <> String(255, 0) Then
TitreFen = Titre_Fenetre
TitreFen = Left(TitreFen, ret)
txtbox.Text = txtbox.Text & TitreFen & vbCrLf
End If
hwnd = GetWindow(hwnd, GW_HWNDNEXT)
Loop
End Function
Function ListVisibleWindowstxt(txtbox As TextBox)
Dim hwnd As Long
Dim Titre_Fenetre As String * 255
Dim TitreFen As String
Dim ret As Long
Dim I As Integer
Do While (Not IsNull(hwnd)) And (hwnd <> 0)
Titre_Fenetre = String(255, 0)
ret = GetWindowText(hwnd, Titre_Fenetre, 255)
If Titre_Fenetre <> String(255, 0) Then
TitreFen = Titre_Fenetre
TitreFen = Left(TitreFen, ret)
If IsWindowVisible(hwnd) Then
txtbox.Text = txtbox.Text & TitreFen & vbCrLf
End If
End If
hwnd = GetWindow(hwnd, GW_HWNDNEXT)
Loop
End Function
-------------------------------
N'est-ce pas que ça fait un peu compliqué pour avoir juste la liste
des processus, et tous les exemples sont un peu de cet ordre... Bon, je vais
tenter de l'utiliser néanmoins... en testant, ça occupe...
Cordialement ;o)
_______________________
.
.
"Jean-Marc" <jeanmarcnoury@gmail.com> a écrit dans le message de
news:fa17d036-9fc0-48bd-b715-6e2555e8a511@o36g2000vbl.googlegroups.com...
On 16 sep, 05:56, "LE TROLL" <le tr...@enfer.fr> wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement
trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les
processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance
(et en français en plus!), il y a des dizaines d'exemples tout
prêt :-)
Aller, en voici un (pas testé par moi!) :
http://www.vbfrance.com/codes/RAM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Comme je le disais, d'une complexité inutile, dans la form t'as environ 5 lignes car tout est dans le module, comme si pour ce programme on ne pouvait pas tout mettre dans une seule feuille, et idem, y 3 pages de code, et faut trier là dedans le bon code... Les processus n'ont pas leur nom d'extension, parfois il y a un blanc devant le nom (trim(x)) à faire, en pagaille (pas de tri)...
form1 Private Sub Command1_Click() Module1.ListVisibleWindowstxt Text1 Module1.ListAllWindowstxt Text4 Text2.Text = Module1.GetFreeMemory Text3.Text = Module1.TotalMemory End Sub ' la form sert juste à cliquer le bouton, pas glop pas glop !
----------------------
module1.bas
'Declaration des API Public Declare Function IsWindowVisible Lib "user32" (ByVal Handle As Long) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long Private Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long Private Declare Sub GlobalMemoryStatus Lib "kernel32" (lpBuffer As MEMORYSTATUS) Public Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Type MEMORYSTATUS dwLength As Long dwMemoryLoad As Long dwTotalPhys As Long dwAvailPhys As Long dwTotalPageFile As Long dwAvailPageFile As Long dwTotalVirtual As Long dwAvailVirtual As Long End Type
'Pour obtenir la memoire total Function TotalMemory() Dim MS As MEMORYSTATUS MS.dwLength = Len(MS) GlobalMemoryStatus MS TotalMemory = Int(MS.dwTotalPhys / 1000000) & " Mo" End Function
'Pour obtenir la memoire libre Function GetFreeMemory() Dim MS As MEMORYSTATUS
MS.dwLength = Len(MS) GlobalMemoryStatus MS GetFreeMemory = MS.dwAvailPhys & " octets de mémoire libres" End Function
'Liste tout les fenetre (visible ou pas) dans un controle Texte Box Function ListAllWindowstxt(txtbox As TextBox) Dim hwnd As Long Dim Titre_Fenetre As String * 255 Dim TitreFen As String Dim ret As Long Dim I As Integer
Do While (Not IsNull(hwnd)) And (hwnd <> 0) Titre_Fenetre = String(255, 0)
ret = GetWindowText(hwnd, Titre_Fenetre, 255) If Titre_Fenetre <> String(255, 0) Then TitreFen = Titre_Fenetre TitreFen = Left(TitreFen, ret) txtbox.Text = txtbox.Text & TitreFen & vbCrLf End If hwnd = GetWindow(hwnd, GW_HWNDNEXT) Loop End Function
Function ListVisibleWindowstxt(txtbox As TextBox) Dim hwnd As Long Dim Titre_Fenetre As String * 255 Dim TitreFen As String Dim ret As Long Dim I As Integer
Do While (Not IsNull(hwnd)) And (hwnd <> 0) Titre_Fenetre = String(255, 0)
ret = GetWindowText(hwnd, Titre_Fenetre, 255) If Titre_Fenetre <> String(255, 0) Then TitreFen = Titre_Fenetre TitreFen = Left(TitreFen, ret) If IsWindowVisible(hwnd) Then txtbox.Text = txtbox.Text & TitreFen & vbCrLf End If End If hwnd = GetWindow(hwnd, GW_HWNDNEXT) Loop
End Function
-------------------------------
N'est-ce pas que ça fait un peu compliqué pour avoir juste la liste des processus, et tous les exemples sont un peu de cet ordre... Bon, je vais tenter de l'utiliser néanmoins... en testant, ça occupe...
Cordialement ;o)
_______________________ . .
"Jean-Marc" a écrit dans le message de news: On 16 sep, 05:56, "LE TROLL" <le wrote:
Bonjour,
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Hello,
Pourtant Google est ton ami! Il suffit de chercher "VB lister les processus" pour obtenir des dizaines d'exemples. Rien que sur VBFrance (et en français en plus!), il y a des dizaines d'exemples tout prêt :-)
Aller, en voici un (pas testé par moi!) : http://www.vbfrance.com/codes/RAM-VIEWER_1344.aspx
En cas de problèmes, s'adresser à l'auteur du code :-)
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Exemple, j'ai un exe A qui lance un exe B et un exe C, je dois donc avoir au moins ces 3 processus actifs (visualisable par <Ctrl>+<Alt>+<Del>) "A, B et C), donc, disons dans list1, comment lui envoyer le nom de tous les processus actif (nom.extension), ceci au plus simple, VB ou API, merci ???
Au plus court, avec WMI :
Private Sub ListProcess() Dim strComputer As String Dim objWMIService As Object Dim colProcesses As Object Dim objProcess As Object
Set colProcesses = objWMIService.ExecQuery( _ "select * from win32_process") For Each objProcess In colProcesses Debug.Print objProcess.Caption ' ou objProcess.ExecutablePath, si tu veux le chemin complet Next End Sub
Ça fait plus d'une heure que je lis le Net en Français, sans
réellement trouver : Comment lister les processus actifs ?
Exemple, j'ai un exe A qui lance un exe B et un exe C, je dois donc
avoir au moins ces 3 processus actifs (visualisable par
<Ctrl>+<Alt>+<Del>) "A, B et C), donc, disons dans list1, comment lui
envoyer le nom de tous les processus actif (nom.extension), ceci au plus
simple, VB ou API, merci ???
Au plus court, avec WMI :
Private Sub ListProcess()
Dim strComputer As String
Dim objWMIService As Object
Dim colProcesses As Object
Dim objProcess As Object
Set colProcesses = objWMIService.ExecQuery( _
"select * from win32_process")
For Each objProcess In colProcesses
Debug.Print objProcess.Caption
' ou objProcess.ExecutablePath, si tu veux le chemin complet
Next
End Sub
Ça fait plus d'une heure que je lis le Net en Français, sans réellement trouver : Comment lister les processus actifs ?
Exemple, j'ai un exe A qui lance un exe B et un exe C, je dois donc avoir au moins ces 3 processus actifs (visualisable par <Ctrl>+<Alt>+<Del>) "A, B et C), donc, disons dans list1, comment lui envoyer le nom de tous les processus actif (nom.extension), ceci au plus simple, VB ou API, merci ???
Au plus court, avec WMI :
Private Sub ListProcess() Dim strComputer As String Dim objWMIService As Object Dim colProcesses As Object Dim objProcess As Object
Set colProcesses = objWMIService.ExecQuery( _ "select * from win32_process") For Each objProcess In colProcesses Debug.Print objProcess.Caption ' ou objProcess.ExecutablePath, si tu veux le chemin complet Next End Sub