Bonjour,

J'utilise énormément de déclarations de l'API Windows, mais je me rends compte que j'ai négligé quelques aspects.

Y-a-t'il notamment une différence entre les déclarations suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
'https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-sendmessage
Public Declare PtrSafe Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
    ByVal hwnd As LongPtr, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
          lParam As Any) As Long
et

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Public Declare Function PtrSafe SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
    ByVal hwnd As LongPtr, _
    ByVal wMsg As Long, _
    ByVal wParam As Long, _
    ByRef lParam As Any) As Long

J'imagine que dans la deuxième déclarations, il faille que je précise lParam:=ByVal value lors des appels, mais que ce n'est pas forcément nécessaire avec la première déclaration ?

Pouvez-vous s'il vous plaît m'en dire davantage à ce sujet, car des suspecte des p'tits bugs potentiels dans mes scripts ?

Merci par avance