Dudu2
XLDnaute Barbatruc
Bonjour,
Je voudrais avoir la confirmation de la manière de déclarer les fonctions de l'API Windows selon les constantes de compilation prédéfinies. Avec l'exemple de GetParent().
J'ai vu ce type de déclaration...
Mais la doc Windows dit:
D'autre part, question subsidiaire, dans cette page par ailleurs très utile, je vois ça:
Qu'est-ce qui est la "vraie" référence à la fonction ? GetWindowLongPtr ou GetWindowLongPtrA / GetWindowLongA?
Merci par avance.
Je voudrais avoir la confirmation de la manière de déclarer les fonctions de l'API Windows selon les constantes de compilation prédéfinies. Avec l'exemple de GetParent().
J'ai vu ce type de déclaration...
VB:
#If VBA7 Then
#If Win64 Then
Declare PtrSafe Function GetParent Lib "user32" (ByVal hwnd As LongPtr) As LongPtr
#Else
Declare PtrSafe Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
#End If
#Else
Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
#End If
Mais la doc Windows dit:
Donc ceci devrait suffire non ?
VB:
#If VBA7 Then
Declare PtrSafe Function GetParent Lib "user32" (ByVal hwnd As LongPtr) As LongPtr
#Else
Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
#End If
D'autre part, question subsidiaire, dans cette page par ailleurs très utile, je vois ça:
VB:
#If Win64 Then
Declare PtrSafe Function GetWindowLongPtr Lib "user32" Alias "GetWindowLongPtrA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
#Else
Declare PtrSafe Function GetWindowLongPtr Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As LongPtr
#End If
Qu'est-ce qui est la "vraie" référence à la fonction ? GetWindowLongPtr ou GetWindowLongPtrA / GetWindowLongA?
Merci par avance.
Dernière édition: