postmessage(hnwd,WM_MOUSEMOVE,0,makeLparam(x,y));可以使用屏幕坐标吗?(100分)

  • 主题发起人 主题发起人 16cy
  • 开始时间 开始时间
1

16cy

Unregistered / Unconfirmed
GUEST, unregistred user!
postmessage(hnwd,WM_MOUSEMOVE,0,makeLparam(x,y));使用的是窗体坐标,请问postmessage可以使用屏幕坐标吗?<br><br>如果一定要使用屏幕坐标是不是就必须要使用mouse_event?
 
没听说过,不知道有没人这么用<br>看看MSDN
 
你这说了等于没说[:(]
 
屏幕也是一个窗体<br><br>postmessage(GetDesktopWindow,WM_MOUSEMOVE,0,makeLparam(x,y));
 
其实我不是很明白楼主的问题,给点建议:<br>可以使用以下函数对坐标进行转换<br> &nbsp;ScreenToClient()<br> &nbsp;ClientToScreen()
 
先把你要移动到的窗体上的坐标转换成为屏幕的坐标,然后再发消息给鼠标移动吧。因为鼠标对于系统来说,计算的都是屏幕坐标而不是窗体的客户区坐标。
 
楼主的问题比较模糊。我想楼主主要是问参数的值怎么计算到以及如何响应这些消息。<br><br>其实,参数中鼠标消息的坐标是相对于本hwnd控件的。如果你原来是屏幕坐标,那么就转换一下就可以了,方法如楼上所说。
 
是远程鼠标控制吗
 
窗体坐标和屏幕坐标可以互相换的,换一下不就行了?
 
同意cqwty : <br>ClientToScreen 。
 
多人接受答案了。
 
后退
顶部