解决C# X64应用程序中读取WParam溢出的问题
在X86的环境下,
var wParam = (int)msg.WParam;
工作得很好。
在X64的环境下,
快速滚动滚轮会出现msg.WParam 转换为int的时候溢出,(WParam=4263510016)。
信息为:
未处理System.OverflowException
Message=算术运算导致溢出。
Source=mscorlib
StackTrace:
在 System.IntPtr.op_Explicit(IntPtr value)
在 TIM.MouseWheelHandler.MouseWheelMessageFilter.PreFilterMessage(Message& m) 位置。。。
查证WParam是IntPtr,MSDN说
IntPtr 类型被设计成整数,其大小适用于特定平台。即是说,此类型的实例在 32 位硬件和操作系统中将是 32 位,在 64 位硬件和操作系统上将是 64 位。
所以,上面的代码应该为:
var wParam = (IntPtr.Size == 8) ? (int)((long)msg.WParam << 32 >> 32) : (int)msg.WParam;
测试通过。
相关文章
- 今天带大家来了解一下Java内存泄漏与溢出的知识,文中有非常详细的介绍,对正在学习Java基础的各位小伙伴呢很有帮助哟,需要的朋友可以参考下...2021-05-15
- 这篇文章主要介绍了Android内存溢出及内存泄漏原因进行,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-08-06
Spring Cloud Gateway 内存溢出的解决方案
这篇文章主要介绍了Spring Cloud Gateway 内存溢出的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-07-16- 这篇文章主要为大家分享了mysql5.7.11 winx64安装配置方法图文教程,感兴趣的朋友可以参考一下...2016-07-25
完美解决TensorFlow和Keras大数据量内存溢出的问题
这篇文章主要介绍了完美解决TensorFlow和Keras大数据量内存溢出的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-04- 这篇文章主要介绍了微信小程序 window_x64环境搭建的相关资料,需要的朋友可以参考下...2016-10-02
- 使用宏最简单的方法是编译两个版本,编译多个版本可以点击配置管理器,然后创建x86和x64,然后版本添加宏,这样就可以判断宏来使用不同的dll。这篇文章主要介绍了C# 在项目中引用x86 x64的非托管代码的方法,需要的朋友可以参考下...2020-06-25
c语言/c++溢出问题浅谈 <font color=red>原创</font>
这篇文章主要给大家介绍了关于c语言/c++溢出问题的相关资料,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-24Mysql 5.7.17 winx64在win7上的安装教程
本文给大家介绍Mysql 5.7.17 winx64在win7上的安装教程,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-04-26mysql 5.7.13 winx64安装配置方法图文教程(win10)
这篇文章主要为大家分享了mysql 5.7.13 winx64安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-01-22- 这篇文章主要介绍了MySql 5.7.17 winx64的安装配置教程,初始化数据库、配置相关信息的方法在本文中介绍的非常详细,需要的朋友参考下...2017-02-08
- C#应用程序是AnyCPU的,在一段处理鼠标滚轮WM_MOUSEWHEEL的代码里碰到溢出的问题OverflowException...2020-06-25
- 这篇文章主要为大家分享了mysql 5.7.16winx64安装配置方法图文教程,感兴趣的朋友可以参考一下...2016-12-02
- 本篇文章是对用checked语句防止数据溢出的解决方法进行了详细的分析介绍,需要的朋友参考下...2020-06-25
MySQL(win7x64 5.7.16版本)下载、安装、配置与使用的详细图文教程
这篇文章主要介绍了MySQL(win7x64 5.7.16版本)下载、安装、配置与使用的详细教程,本文图文并茂给大家介绍的非常详细,感兴趣的朋友参考下...2017-01-09- 这篇文章主要为大家分享了mysql5.7.11 winx64安装配置方法图文教程,感兴趣的朋友可以参考一下...2016-05-20
mysql 5.7.9 winx64在windows上安装遇到的问题
mysql5.7.9版本以上在windwos上安装时会遇到无法启动但是没有任何报错的问题,怎么回事呢?接下来通过本文给大家介绍mysql 5.7.9 winx64在windows上安装遇到的问题及解决方法,需要的朋友可以参考下...2016-10-25解决Win7 x64安装解压版mysql 5.7.18 winx64出现服务无法启动问题
这篇文章主要介绍了解决Win7 x64安装解压版mysql 5.7.18 winx64出现服务无法启动问题,需要的朋友可以参考下...2017-05-09- 这篇文章主要为大家分享了mysql 5.7.17 winx64安装配置方法图文教程,感兴趣的朋友可以参考一下...2017-01-22
mysql 5.7.5 m15 winx64安装配置方法图文教程
这篇文章主要为大家分享了mysql 5.7.15 m15 winx64安装配置方法图文教程,感兴趣的朋友可以参考一下...2016-10-02