当前位置:w88优德官网网文章中心网站开发.Net → 解决X64应用程序中读取WParam溢出的问题

解决X64应用程序中读取WParam溢出的问题

减小字体 增大字体 作者:w88优德官网网  来源:www.cuoxin.com  发布时间:2014-2-15 21:04:44
C#应用程序是AnyCPU的,在一段处理鼠标滚轮WM_MOUSEWHEEL的代码里碰到溢出的问题OverflowException。
在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;测试通过。

本文引用网址:
在下列搜索引擎中搜索“解决X64应用程序中读取WParam溢出的问题”的相关信息:
谷歌搜索 百度搜索 360搜索 雅虎搜索 搜狗搜索 搜搜搜索 必应搜索 有道搜索
你可能还喜欢以下文章
  • 1如何做爱真人示范图片 男女ML常...
  • 2情侣酒店开房qvod 情侣做爱视频...
  • 3怎么做爱舒服?真人示范做爱姿...
  • 4如何做爱更舒服?教你做爱72式...
  • 5雨后小故事 qq表情姐弟雨后小故...
  • 1dede:arclist 实现分页!-织梦...
  • 2免费软文发布平台汇总
  • 3dedecms实现频道封面和列表页调...
  • 4织梦DEDECMS {dede:field name...
  • 5首页flash幻灯片不显示解决方法...
  • 1嫩白少妇与猛男户外疯狂车震遭...
  • 2怎样爱爱最爽?性爱姿势真人图...
  • 3中国女大学生的淫靡生活
  • 4舒淇艳照门事件 舒淇不雅照ed2...
  • 5合肥艳照门事件 合肥艳照门全套...
  • 1如何做服务器安全维护?有哪些...
  • 2Windows Server 2003系统性能优...
  • 3IIS中的 MIME类型
  • 4设置不求人:搞懂任务栏显示项目...
  • 5远程管理Win2003服务器技巧
  • 赞助商广告

    图片文章导读