2010-05-05 24 views
4

Lorsque la méthode suivante est substituée dans .NET, il semble que je reçois des messages différents dans 32 bits et 64 bits OS: es. Cela peut-il être vrai?Le message à WndProc change-t-il la valeur du système d'exploitation 32 bits en système d'exploitation 64 bits?

protected override void WndProc(ref Message m)

Je veux attraper les éléments suivants: private const int WM_LBUTTONDBLCLK = 0x0203; mais WM_LBUTTONBLCLK semblent avoir une autre "Id" dans mes fenêtres 2003 64 installation de bits qu'il avait sur mon Windows XP 32 bits.

Suggestions?

Répondre

3

Cela ne peut pas être, les identificateurs de message n'ont pas changé. Cela nous aiderait à vous aider si vous aviez documenté quel autre message vous avez reçu ou quel type de fenêtre ou de contrôle vous utilisez. La seule différence dans le message pertinent pour WM_LBUTTONDBLCLK est que les champs WParam et LParam sont maintenant 64 bits au lieu de 32 bits. Difficile de se tromper, vous utilisez sûrement la méthode ToInt32().

+0

Vous avez raison, ce ne peut pas être. L'identifiant de message était en fait le bon. Cependant, je me demandais encore si c'était la même chose pour 32 bits que pour 64 bits. Merci d'avoir éclairci ça. –