server端:
在server.h中声明:voidDispatchWMMessage(char *szString);
server.c中添加 void DispatchWMMessage(char *szString)(1、拷贝client.c中的DispatchWMMessage函数(因为客
户端中的DispatchWMMessage函数中将原dwX = (DWORD)iX;dwY = (DWORD)iY;修改为dwX = (DWORD)iX+12;dwY =
(DWORD)iY+29;修改的原因是因为在服务器端显示屏幕监控画面时,最上方有一块标题框,应除去这个区域) 2、只保留其中的鼠标消息if (fWMMouseMsg),else均不需要)
将command.h及.c文件添加到工程中 同时在server.c文件中添加:#include "command.h"
在屏幕监控线程中添加:if(SOCKET_ERROR == ret) (buffer为接收客户端的数据包)
{
break;
}后添加分支:
else if(strstr((char*)buffer,"WM_")!=NULL)
{
DispatchWMMessage((char*)buffer);
continue; //continue必不可少
}
client端:
在屏幕监控线程中添加捕获鼠标消息:
CPoint point;
char temp[256]={0};
GetCursorPos(&point);
point.y+=10;
sprintf(temp,"WM_MM;%d;%d;%d;0;/0",point.x,point.y,0);
ret = sendto(sk_remoteHelp,temp,strlen(temp),0,(sockaddr*)&addrFrom,sizeof(addrFrom));
//注意socket及addr与屏幕监控中所用到的一致