OVH Cloud OVH Cloud

Lister des applications actives

1 réponse
Avatar
mj
Bonjour,

j'aimerai utiliser le code suivant trouve sur le site=20
http://memoaccess.free.fr/admin.htm
pour lister les applications actives (Function=20
EnumCallback)

mais je n'ai pas trouve la syntaxe pour l'appeler
que represente les arguments (ByVal app_hWnd As Long, _
ByVal param As Long)=20
ce sont des entiers oui mais ???

merci de votre aide

mj


'=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3DListing
Lister et/ou fermer des applications actives
Pour fermer une application, on =E9crira par exemple :=20
KillApp "Microsoft Excel - classeur.xls"

Option Compare Database
Option Explicit

Declare Function EnumWindows Lib "user32" _
(ByVal wndenmprc As Long, _
ByVal lParam As Long) As Long
Declare Function GetWindowText Lib "user32" _
Alias "GetWindowTextA" _
(ByVal hwnd As Long, _
ByVal lpString As String, _
ByVal cch As Long) As Long
Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Public Const WM_CLOSE =3D &H10

Private AppCible As String

Public Sub KillApp(App_Cherchee As String)
AppCible =3D App_Cherchee
EnumWindows AddressOf EnumCallback, 0
End Sub

Public Function EnumCallback(ByVal app_hWnd As Long, _
ByVal param As Long) As Long

Dim buf As String * 256
Dim Titre As String
Dim Longueur As Long

Longueur =3D GetWindowText(app_hWnd, buf, Len(buf))
Titre =3D Left$(buf, Longueur)
'If Len(Titre) > 0 Then: Debug.Print Titre
If InStr(Titre, AppCible) <> 0 Then
If msgbox("Voulez vous fermer l'application " & Titre,=20
_
vbQuestion + vbYesNo, _
"Fermeture de " & Titre) =3D vbYes Then
SendMessage app_hWnd, WM_CLOSE, 0, 0
End If
End If
'Poursuit l'=E9num=E9ration
EnumCallback =3D 1

End Function

1 réponse

Avatar
Anor
Bonjour

Il y a une ligne
'If Len(Titre) > 0 Then: Debug.Print Titre

tu enlèves le '

et tu essayes en mode pas à pas (touche F8)

sub test
KillApp "test"
end sub

pour obtenir la liste des applis dans la fenêtre de débogage.

je reconnais que le code n'est pas très intuitif, je vais essayer (de me souvenir )
d'améliorer un peu ça ;-))

--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Access Memorandum : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------

mj wrote:
| Bonjour,
|
| j'aimerai utiliser le code suivant trouve sur le site
| http://memoaccess.free.fr/admin.htm
| pour lister les applications actives (Function
| EnumCallback)
|
| mais je n'ai pas trouve la syntaxe pour l'appeler
| que represente les arguments (ByVal app_hWnd As Long, _
| ByVal param As Long)
| ce sont des entiers oui mais ???
|
| merci de votre aide
|
| mj