目 录CONTENT

文章目录

windows捕捉鼠标向后的滚轮消息偏移量总是65416

醉酒的行者
2025-04-23 / 0 评论 / 0 点赞 / 40 阅读 / 0 字

我最近使用 windows 窗口程序捕捉鼠标的滚轮消息,鼠标向前(向上或向右)滚动时偏移量总是 120。鼠标向后(向左或向下)滚动时偏移量总是 65416,而不是负数 -120,如下图所示,这是怎么回事呢?

经过一番查询,发现原来 -120 的无符号数表示为 65416,使用如下 c++ 的内联函数转换,就可以将无符号数转换为有符号的 -120。转换函数如下:

inline short GetWheelDelta(WPARAM wParam) {
	return static_cast<short>(HIWORD(wParam));
}

经过上述函数转换后,正常鼠标滚轮消息的偏移量可以正常打印了,如下图:

0

评论区