读书人

SendInput(一, amp;input[i], sizeof(INP

发布时间: 2012-12-17 09:31:40 作者: rapoo

SendInput(1, &input[i], sizeof(INPUT)); 鼠标跳动
本人在做一个简单的远程模拟工具,仅仅实现鼠标键盘模拟控制
键盘模拟成功,鼠标迟迟有个小bug未解决,困惑数日,甚是难受...
求指导..
具体:
关键代码:
recv接收到的是另一端的Input事件,我就在本地用SendInput来模拟鼠标动作,一切正常
就是鼠标滑动的时候,不是连续的,而是可以感觉到明显的跳动,或者说是 鼠标轨迹不连续, 没有正常滑动的效果

while(true)
{
int ret = recv(sClient,(char *)input,100* sizeof(INPUT),0);
if(ret==0||(ret==SOCKET_ERROR&&WSAGetLastError()==WSAECONNRESET))
{
printf("%s关闭连接\n",inet_ntoa(remoteAddr.sin_addr));
closesocket(sClient);
break;
}
for(int i=0; i!= ret/28; i++)
SendInput(1, &input[i], sizeof(INPUT));
}
我将SendInput换成SetCursorPos,mouse_event都没能解决这个小bug
鼠标滑动时,看起来很不爽,虽然对结果没影响,但不连续。。
还有,不会是网络丢包等问题。

这个纠结了多天,求指教,不胜感激~

[解决办法]
终于解决了,主要是时间问题
加个延迟就搞定了
结帖

读书人网 >VC/MFC

热点推荐