Afficher une fenêtre d'après le nom de son exécutable
cs_tonymitchelli
Messages postés4Date d'inscriptionmardi 22 mars 2005StatutMembreDernière intervention28 juin 2005
-
28 juin 2005 à 17:14
CTAC
Messages postés133Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention 8 juin 2012
-
28 juin 2005 à 23:00
Bonsoir à tous,
Je recherche un moyen d'afficher une fenêtre en connaissant le nom de l'exécutable par lequel elle a été lancée. Nom qui figure dans la liste des processus du Gestionnaire des tâches de Windows...
Pour le moment, j'ai essayé avec 'FindWindow' mais cette API n'utilise que le titre de la fenêtre.
Quelqu'un pourrait-il m'aider SVP ?
Merci bcp par avance
Mitchelli
A voir également:
Afficher une fenêtre d'après le nom de son exécutable
Private Declare Function SendMessage& _
Lib "user32" Alias "SendMessageA" _
(ByVal Hwnd&, ByVal wMsg&, ByVal wParam&, lParam As Any)
Private Declare Function GetWindowModuleFileName& _
Lib "user32" Alias "GetWindowModuleFileNameA" _
(ByVal Hwnd&, ByVal pszFileName$, ByVal cchFileNameMax&)
Private AppHwnd&, NomExe$
Sub FermeNotepad()
Const WM_CLOSE& = &H10&
NomExe = StrConv("C:\Windows\notepad.exe", vbUpperCase)
EnumWindows AddressOf EnumWindowsProc, 0&
If AppHwnd Then SendMessage AppHwnd, WM_CLOSE, 0&, 0&
End Sub
Private Function EnumWindowsProc&(ByVal Hwnd&, ByVal lngParam&)
Const MAX_PATH& = 260&
Dim Lexe$
Lexe = Space$(MAX_PATH)
GetWindowModuleFileName Hwnd, Lexe, MAX_PATH
If StrConv(Left$(Lexe, InStr(Lexe, vbNullChar) - 1&), _
vbUpperCase) = NomExe Then
AppHwnd = Hwnd
Exit Function
End If
EnumWindowsProc = True
End Function