目 录CONTENT

文章目录

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

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

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

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

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

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

0

评论区