日期:2014-05-17  浏览次数:21184 次

关于PostMessage这个函数
想用这个API实现后台点击
int lparam = (y << 16) + x;
Console.WriteLine(Win32.PostMessage(HOWD, Win32.WM_LBUTTONDOWN, 0, lparam));
Console.WriteLine(Win32.PostMessage(HOWD, Win32.WM_LBUTTONUP, 0, lparam));
按照解释好像是Y左移16位在高位,X坐标在低位.但是好像总是觉得位置不对...

------解决方案--------------------
具体要看你lparam计算的对不对了,还有最后一个参数类型是long,你现在是int;
------解决方案--------------------
lparam 和平台有关,如果是64位平台,这个参数是long类型,64位,如果是32位平台,则是32位,所以你用int类型传不一定对,不过按照msdn文档,y确实是在高位,x在低位,
------解决方案--------------------
x和y本身的值对吗,用的是屏幕坐标还是窗口坐标