简体   繁体   English

WndProc消息是否将值从32Bit OS更改为64位操作系统?

[英]Does the Message to WndProc change value from 32Bit OS to 64Bit OS?

When the following Method is overrided in .NET it seems that I get different Messages in 32Bit and 64Bit OS:es. 当在.NET中覆盖以下方法时,我似乎在32Bit和64Bit OS中得到不同的消息:es。 Can this be true? 这可能是真的吗?

protected override void WndProc(ref Message m)

I want to catch the following: private const int WM_LBUTTONDBLCLK = 0x0203; 我想捕获以下内容: private const int WM_LBUTTONDBLCLK = 0x0203; but WM_LBUTTONBLCLK seem to have another "Id" in my windows 2003 64 bit installation than it had on my Windows XP 32 Bit. WM_LBUTTONBLCLK似乎在我的Windows 2003 64位安装中有另一个“Id”,而不是在我的Windows XP 32位上。

Suggestions? 建议?

That cannot be it, the message identifiers have not changed. 不可能,消息标识符没有改变。 It would help us help you if you documented what other message you get instead or what kind of window or control you are hooking. 如果您记录了您获得的其他消息或者您正在挂钩的窗口或控件,它将帮助我们帮助您。 The only difference in Message relevant to WM_LBUTTONDBLCLK is that WParam and LParam fields are now 64 bits instead of 32 bits. Message与WM_LBUTTONDBLCLK相关的唯一区别是WParam和LParam字段现在是64位而不是32位。 Hard to get that wrong though, surely you are using the ToInt32() method. 虽然很难弄错,当然你正在使用ToInt32()方法。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM