请教一个屏幕像素点和分辨率转换的问题

今天用到SENDINPUT函数,看了一下,它里面的绝对坐标值的X和Y都要65535除以
当前分辨率,请问下,这个65535是怎么得来的呀?我家的是宽屏显示器不可能X和Y都
是65535吧,涉事代码如下:
ipt.mi.dx =( 65535/1440)*720;
ipt.mi.dy =(65535/900)*450;

65535 = 0xFFFF,2字节整数的最大值。这样计算等于把坐标归一化到0~0xFFFF之间的一个整数,或者说定点小数。
这个值仅有鼠标在屏幕中的位置决定,不受分辨率的影响。或许是便于统一处理。

类似的转换应该是实现的问题,如 mouse_event 函数也有同样的要求

65526正好是一个16bit整数的最大值。用来表示整个宽度或者高度。
之所以windows api这么诡异的表示,是因为早期的计算机浮点运算效率很低,所以尽量用整数表示小数或者比例。