Pour info a ce que tu viens d'ecrire :
Tout d'abord, l'information dans le lparam n'est pas codée sur 31 bits mais sur 32 bits.
Ensuite je vais réécrire de facon plus convenable les conversions que tu as trouvé pour l'appui et le relachement de la touche 'a' :
Les 32 bits de chaque valeur pris par le lparam sont indiqués afin que tu puisses comprendre les différences :
J'ai donc fait apparaitre en rouge la partie de la valeur que tu as oublié lors de l'appui sur WM_KEYDOWN et j'ai mis en vert les changements ayant eu lieu entre l'appui et le relachement de la touche 'a'.
WM_KEYDOWN ==> 1408577 ==>
00000000000100000000000000000001
WM_KEYUP ==> -1072693247 ==>
11000000000100000000000000000001
Tu peux donc remarquer que lors du WM_KEYUP, 2 bits sont changés , le 30 et le 31.
- Bit 30 : est mis à 1 si la touche était pressée precedemment (ce qui est le cas car il y a eu un WM_KEYDOWN sur cette touche 'a' donc c'est normal que ce bit soit a 1 lors du WM_KEYUP).
- Bit 31 : est mis à 1 si la touche est relachée... nous sommes en train de recevoir un WM_KEYUP donc forcément la touche est relachée donc il est normal que ce bit soit à 1.
Pour conclure, nous pouvons dire que le paramètre lparam est une valeur de 32 bits TOUT LE TEMPS !!! Ce n'est pas une variable à taille changeante selon les besoins, elle a une taille fixe ( qui peut etre 8,16, 32 ou 64 bits, ici c'est 32 bits )!
Les 2 valeurs que tu as donc trouvées étaient bonnes mais tu as juste mal interprété ces données.
Si tu n'es pas sûr, prends ta calculatrice windows, mets la en affichage scientifique, tape ton nombre en decimal, clique sur le bouton Bin (qui te fera le changement en mode binaire en un rien de temps) et prense bien a utiliser des D-mots et pas des Q-mots ou des trucs du genre (un D-mot, ou DWORD correspond à 32 bits pour info) et tu retrouveras les resultats que je t'ai ecrit. Tout sera plus clair pour toi dès que tu auras vu ça.
Bien, j'espère avoir été clair donc si tu as un doute relance encore un post j'y repondrai de nouveau si je suis là

.
Bonne prog !!!

Mess with the best, die like the rest