UDF > WinAPIEx > System > Windows >


_WinAPI_GetWindowThreadProcessId

Obtient l'identifiant du thread qui a créé la fenêtre spécifiée

#include <WinAPISysWin.au3>
_WinAPI_GetWindowThreadProcessId ( $hWnd, ByRef $iPID )

Paramètres

$hWnd Handle de la fenêtre
$iPID Variable qui contiendra l'identifiant du processus (PID) du thread.

Valeur de retour

Retourne l'ID de thread de la fenêtre spécifiée.

En relation

_WinAPI_GetCurrentProcessID

Voir aussi

Consultez GetWindowThreadProcessId dans la librairie MSDN.

Exemple

#include <MsgBoxConstants.au3>
#include <WinAPISysWin.au3>

Example()

Func Example()
    ; Exécute le Bloc-notes
    Run("notepad.exe")

    ; Attend 10 secondes pour que la fenêtre du bloc-notes apparaisse.
    WinWait("[CLASS:Notepad]", "", 10)

    ; Récupére le handle de la fenêtre du Bloc-notes à l'aide du nom de classe du Bloc-notes.
    Local $hWnd = WinGetHandle("[CLASS:Notepad]")
    If @error Then
        MsgBox($MB_SYSTEMMODAL, "", "Une erreur est apparue en essayant d'obtenir le handle de  fenêtre de Notepad.")
        Exit
    EndIf

    ; Récupère l'identifiant du thread et passe une variable au paramètre $iPID pour stocker le PID.
    Local $iPID = 0
    Local $iThread = _WinAPI_GetWindowThreadProcessId($hWnd, $iPID)

    ; Afficher le thread de processus et le PID de la fenêtre du Bloc-notes.
    MsgBox($MB_SYSTEMMODAL, '', "Process thread: " & $iThread & @CRLF & _
            "Process ID (PID): " & $iPID)

    ; Ferme la fenêtre du Bloc-notes en utilisant le descripteur retourné par WinGetHandle.
    WinClose($hWnd)
EndFunc   ;==>Example