Fermer un programme, une application, une fenêtre... d'après une partie de son nom

Description

Permet en quelques lignes de fermer un programme, une application, une fenêtre... en passant en paramètre son nom exact ou partiel.

Source / Exemple :


Declare Function GetNextWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wFlag 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 GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hwnd As Long) As Long
Declare Function PostMessage Lib "user32.dll" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Sub FermeFentre(NomPartielDeLaFenetreAFermer As String, tHwnd As Long)
Dim NomFenetre As String
    
    'Liste toutes les fenetres
    Do While tHwnd <> 0
        NomFenetre = Space$(GetWindowTextLength(tHwnd))
        GetWindowText tHwnd, NomFenetre, Len(NomFenetre) + 1
        
        If InStr(1, NomFenetre, NomPartielDeLaFenetreAFermer) <> 0 Then 'c'est la fenetre recherchée
            'ferme la fenetre
            PostMessage tHwnd, &H10, 0, 0
            
            Exit Sub 'pas la peine de continuer (sauf si vous cherchez plusieurs fenetres avec ce nom)
        End If
        
        'initialise le test de la fenetre suivante
        tHwnd = GetNextWindow(tHwnd, 2)
    Loop
    
    MsgBox "La fenêtre demandée n'a pas été trouvée.", vbExclamation 'si vous avez laissé le exit sub
End Sub

Conclusion :


inspiré de la source d'Antislash : http://www.vbfrance.com/codes/MASQUER-AFFICHER-FERMER-FENETRES-ACTIVES_4596.aspx

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.