你好,谢谢阅读。
几个星期以来,我正在研究“ VNC”。功能非常基本。用户(U1)运行显示密码的程序。第二个用户(U2)输入(U1)用户的IP和密码。
我的代码可以正常运行(目前还没有任何错误),它可以正确显示屏幕并正确发送信息(单击,鼠标移动等)。
只有“一个”问题。发送到(U1)的位置是核心位置,但调用PostMessageA时,调用后鼠标的位置错误。我只使用WINAPI。
我使用以下API来获取屏幕尺寸:GetSystemMetrics()
然后执行以下操作:
InputStruct.lParam = MAKELPARAM(point.x, point.y);
PostMessageA(hWnd, InputStruct.msg, InputStruct.wParam, InputStruct.lParam);
如果有人已经解决了该错误,我将非常高兴获得更多信息。我通常不问问题,而只是阅读问题,但是这次我真的很茫然。
非常感谢您的宝贵时间, 伊利。
编辑1:
谢谢您的意图,我的意思是这样的: (U2)使用袜子将消息发送到(U1),然后我解析它并获得“ lParam”
point.x = GET_X_LPARAM(InputStruct.lParam);
point.y = GET_Y_LPARAM(InputStruct.lParam);
然后我从这一点开始获得
hWnd = WindowFromPoint(point);
然后将其转换
ScreenToClient(currHwnd, &point);
最后调用PostMessage
InputStruct.lParam = MAKELPARAM(point.x, point.y);
PostMessageA(hWnd, InputStruct.msg, InputStruct.wParam, InputStruct.lParam);