Bonjour LouReed,
Il faut parfois modifier également le "Long" en PtrLong
Oui, lorsque la variable est une adresse car elle est en 64 bits. Dans ce cas, hwnd est un pointeur et représente une adresse, ainsi que le résultat de la fonction, donc j'essaierai :
Declare PtrSafe Function GetWindowLongA Lib "user32" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
Declare PtrSafe Function SetWindowLongA Lib "user32" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongPtr
Declare PtrSafe Function FindWindowA Lib "user32" (ByVal IpClasseName As String, ByVal IpWindowName As String) As LongPtr