a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C# > 正文

解決C# X64應用程序中讀取WParam溢出的問題

2020-01-24 03:28:57
字體:
來源:轉載
供稿:網友

在X86的環(huán)境下,

var wParam = (int)msg.WParam;

工作得很好。

在X64的環(huán)境下,

快速滾動滾輪會出現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 位硬件和操作系統(tǒng)中將是 32 位,在 64 位硬件和操作系統(tǒng)上將是 64 位。

所以,上面的代碼應該為:

var wParam = (IntPtr.Size == 8) ? (int)((long)msg.WParam << 32 >> 32) : (int)msg.WParam;

測試通過。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 一区二区三区在线免费观看 | 国产欧美在线 | 国产精品久久久久久一区二区三区 | 日韩免费高清 | 中文字幕视频在线播放 | 国产高清毛片 | 91久久久久久久久久久久久 | 黄色影视在线观看 | 99爱视频 | 黄片毛片| 亚洲精品一区二区网址 | 啵啵影院午夜男人免费视频 | 后进极品白嫩翘臀在线视频 | 欧美亚洲一级 | 国产一区二区三区免费在线观看 | 久久人人国产 | www.伊人.com| 九色在线| 久久久久无码国产精品一区 | 国产日韩欧美在线观看 | 亚洲欧美在线一区 | a√天堂资源在线 | 午夜精品一区二区三区在线播放 | 欧美一级免费 | 欧美日一区二区 | 91麻豆精品国产91久久久资源速度 | 欧美一区2区三区4区公司二百 | 中文天堂av | 久久精品久久久久电影 | 嫩草久久| 91麻豆蜜桃一区二区三区 | 国产乱码精品一品二品 | 欧美日韩亚洲三区 | av三级在线观看 | 欧美在线综合视频 | 国产精品91久久久久 | 日日摸天天做天天添天天欢 | 亚洲一区二区三区免费在线观看 | 亚洲视频手机在线 | av网站在线播放 | 国产成人精品午夜视频' |