可按Ctrl+D收藏 蚂蚁资源网

蚂蚁资源网

远程控制源码(java远程控制电脑)

  • 时间:2021-02-11 21:07 编辑:尤尼斯·卡布尔 来源:蚂蚁资源 阅读:87
  • 扫一扫,手机访问
摘要:大家好,今天给大家介绍关于远程控制源码(java远程控制电脑)的相关内容,详细讲解谁有远程控制的源代码。或者给我说一下远程控制鼠标和动态从服务端发送频目到客户端的方法,C#远程控制桌面源码,求关于远程控制的源码和毕业设计等,希望可以帮助到您。
谁有远程控制的源代码。或者给我说一下远程控制鼠标和动态从服务端发送频目到客户端的方法,这是mouse_event的示例代码; getCursorpos(&lppoint); setcursorpos(lppoint.x,lppoint.y); mouse_event(mouseventf_leftdown,0,0,0); mouse_event(mouseventf_leftup,0,0,0,0);上面的代码表示双击鼠标。要指示单击,可以使用两只鼠标_Event(放开一次,松开)。请注意,无论是模拟键盘还是鼠标事件,请注意恢复,即按下键松开,键盘对应于键余量;还松开鼠标列表,否则它可能会影响函数远程拦截屏幕显示服务在接收到客户端的屏幕数据请求之后,通过使用当前屏幕设备的句柄,屏幕数据开始打开的内存区域,得到与设备相关的GDI位图;然后设置位数AP信息头,调色板等最后,获得独立于设备的DIB位图。 2.1获取设备相关位[3](DDB)设备相关位(DDB)也称为存储在MFC库中的图形设备接口(GDI)位图。该对象包含与设备关联的GDI模块数据结构。当应用程序被截取屏幕显示数据时,将应用程序填充到打开的兼容存储区域并与CBitMap对象的句柄相关联,从而获得GDI位图数据的备份。但是,由于GDI位图中的位图的布置,在不同类型的计算机之间传递GDI位图毫无意义。因此,需要进一步的转换来获取设备的不可接受的位图DIB。 (1)获取resoluti在当前屏幕上确定拦截屏幕的范围; screenx = getsystemmetrics(sm_cxscreen); screenty = getsystemmetrics(sm_cyscreen); (2)获取屏幕HDC,打开兼容性内存区域,建立兼容性HbitMap; HDC HDCMY = CreateDC(“显示”,NULL,NULL,NULL); HDC HBUFDC = CreateCompatibledc(HDCMY); HbitMap Hbit = CreateCompaultBitBitMap(HDCMY,ScreenX,屏幕); (3)将当前屏幕内容复制到先前打开的内存区域中,获取当前屏幕GDI位图; HBITMAP HOLDBITMAP =(HBITMAP)选择(HBUFDC,HBIT);拉伸(HBUFDC,0,0,ScreenX,屏幕,HDCMY,0,0,Screenx,Screeny,Srccopy); Hbit =(HBITMAP)选择(HBUFDC,HOLDBITMAP; 2.2转换设备相关位图(DDB)到设备的UNCIMHEET [3](DIB)DIB COMES含有颜色信息,可以实现调色板管理,运行Windows的任何计算机都可以处理这个标准的位图格式,BMP文件包含DIB,主要由4个部分的位图文件,位图信息头,调色板,调色板,和DIB图像数据,DDB对DIB的转换实际上包括在DDB中。图像信息,填充DIB划分位图数据独立于设备。最后,标准BMP图像被配置为通过添加位图文件来形成标准BMP图像。 (1)通过位图句柄hbit,获取位图信息,然后填充位mapinfoheader结构,计算infoheader长度,初始化调色板,最后分配存储空间以存储上述信息头和调色板数据; getobject(hbit,sizEOF(位图),(LPSTR)和位图; int ncolors = 1 <<(bitmap.bmPlanes*bitmap.bmBitsPixel);DWORD dwLen=sizeof(BITMAPINFOHEADER)+ncolors*sizeof (RGBQUAD);HANDLE hDib=GlobalAlloc(GMEM_FIXED,dwLen);(2)计算位图数据实际占用的字节数,使其宽度大于或者等于离4最近的整数倍,修正原biSizeImage数值,然后重新计算并分配空间用于存储信息头,调色板和实际图像数据;bi.biSizeImage=((((bi.biWidth*bi.biBitCount)+31)&~31)/8)*bi.biHeight;dwLen += bi.biSizeImage;if(handle=GlobalReAlloc(hDib,dwLen,GMEM_MOVEABLE)) hDib=handle;(3)向开辟的指定存储区域中复制上述信息头、调色板以及实际图像信息3部分数据,最后返回该存储区域的句柄,得到最终的DIB位图;LPBITMAPINFOHEADER lpbi=(LPBITMAPINFOHEADER)hDib;GetDIBits( hdc, bitmap,0L,(DWORD)bi.biHeight,(LPBYTE)lpbi +(bi.biSize+ncolors*sizeof(RGBQUAD)),(LPBITMAPINFO)lpbi,(DWORD)DIB_RGB_COLORS);3 屏幕数据传送控制屏幕数据的传送控制主要在如何确认服务端与客户端之间的连接,服务端如何定时分块发送屏幕数据,客户端如何拼接屏幕数据并显示图像,服务端如何响应客户端的鼠标事件等几个方面。3.1服务端与客户端的连接确认双方连接可以由客户端指定服务端IP地址,或者在子网段内发送通信对方标识,服务端接收到该标识后,向客户端发送确认标识,客户端收到确认信息后,表明双方实现连接。以下代码为客户端程序片断,服务端程序将发送和接收函数的顺序对调即可。char cFlag[8]="CopyScr\0";send(sktClient,cFlag,8,0);//发送client端标志recv(sktClient,cFlag,8,0);//接收server端标志3.2服务端定时分块发送屏幕数据客户端以某一定时器设定为间隔,向服务端请求屏幕数据,服务端收到请求后,首先获取当前屏幕的GDI位图数据,并转化为DIB位图数据,随后采用分块传送的方式,向客户端发送屏幕的位图数据,分块过程如下所示:(1)发送屏幕位图数据的相关信息,诸如尺寸、长度、高度等信息至客户端;send(sktClient,(char*)&ScrInfo,sizeof(ScrInfo)+1,0);(2)分块发送DIB位图数据,以SENDBLOCK为分块尺寸,同时调整当前数据指针位置;LPBYTE plmagePoint=(LPBYTE)hDib;for(WORD i=0;i<(ScrInfo.dwSize/SENDBLOCK);i++){send(sktClient,(char*)plmagePoint,sizeof(BYTE)*SENDBLOCK,0);plmagePoint=plmagePoint + SENDBLOCK;recv(sktClient,(char*)&StopFlag,sizeof(int)+1,0);}(3)当屏幕位图数据不是刚好等于分块尺寸倍数的时候,用于处理余下的数据传送;if (ScrInfo.dwSize %SENDBLOCK)send(sktClient,(char*)plmagePoint,ScrInfo.dwSize%SENDBLOCK,0);3.3客户端拼接屏幕数据并显示图像客户端的屏幕数据拼接程序,刚好与服务端的屏幕数据切分程序相对应,首先是接收屏幕位图相关信息,然后按照指定的分块大小接收屏幕数据,最后将小于分块尺寸的屏幕数据单独进行接收处理,得到服务端完整的一次屏幕数据,位图采用StretchDIBits函数显示。StretchDIBits(dc,0,0,rect.right,rect.bottom,0,0,((LPBITMAPINFOHEADER)SvrData)-> Biwidth,(LPBitMapInfoheader)SVRDATA) - > Biheight,(LPBYTE)SVRDATA +(SIZEOF(BitmapInfoheader)+ Color * sizeof(RGBQuad)),(LPBitmapInfo)SVRDATA,DIB_RGB_COLORS,SRCOPY; 3.4服务响应客户鼠标事件使用鼠标时单击显示服务器的当前屏幕时,客户端程序将记录特定的左/右键,单击/双击,X / Y坐标位置等,作为鼠标事件,服务器被发送到服务器,然后解析服务器,并使相应的响应实现客户端以获取服务器屏幕并控制该功能。 mouse_event(mouseventf_leftdown,0,0,0,getMessageExtrainfo());
C#远程控制桌面源码,C#远程控制桌面源代码 - 我可以尝试一下LookMypc遥控器软件
求关于远程控制的源码和毕业设计,http://www.docin.com/p://www.docin.com/p://www.docin.com/p:04346816.html添加prepranslatemessage(msg * pmsg)函数可以捕获消息,这里的命令是一个结构,#定义成功0x01#define getdireinfo 0x02#define execfile 0x03#define getfile 0x04#define putfile 0x05#define deldir 0x07#define createir 0x08#define fileinfo 0x09#define getscreen 0x10#define lbuttond 0x12#define lbuttonu 0x13#define rbuttont 0x14#定义RButtonu 0x15#define lbuttondd 0x16#define rbuttondd 0x17#定义鼠标轮0x18#define keydown 0x19#define keyup 0x20#define mbd 0x21#define mbdd 0x23typeef struct //命令结构{int id; //命令IDByte LPARAM [BUF_LEN * 2]; int x; //鼠标xint y; //鼠标Yshort Z; //滚动ex键; //键盘}命令; BOOL CCLIENDVIEW :: pretranslatemessage(msg * pmsg){// todo:在​​此处添加您的专用代码和/或调用基本classcommand命令; if(ifconect = 0!){if(m_precbmpsocket = null!)m_precbmpsocket = null; //删除原始字节组m_precbmpsocket = new csocket; m_precbmpsocket-> create();! if(m_precbmpsocket-> connect(strtemp,2502)){// m_precbmpsocket->发送(buf1,30); MessageBox(“连接失败”);删除m_precbmpsocket; m_precbmpsocket = null;} else {switch(pmsg->消息){case wm_mousemove:memset((char *)&command,0,sizeof(命令)); command.id = getmos;点lppoint; getCursorpos(&lppoint); command.x = lppoint.x; command.y = lppoint.y; // char buf1 [256]; // sprintf(buf1,“%d%d”,command.x,command.y); // afx.MenssageBox(Buf1); //发送(* m_precbmpsocket,(char *)&命令,sizeof(matman),0)m_precbmpsocket-> size(char *)&command,sizeof(命令));打破; case wm_keydown:memset((char *)&command,0,sizeof(命令)); command.id =键盘; command.key = pmsg - > wparam; m_precbmpsocket->发送(char *)和commmand,break;案例wm_keyup:memset((char *)&command,0,sizeof(命令)); command.id = keyup; command.key = pmsg-> wparam; m_precbmpsocket - >发送(char *)&命令,sizeof(命令));打破;案例wm_lbuttondown:memset(char *)&command,0,sizeof(命令)); command.id = lbuttond; m_precbmpsocket->发送((charr)*)&commmand,sizeof(命令));打破; case wm_lbuttonup:memset((char *)&command,0,sizeof(命令)); command.id = lbuttonu; m_precbmpsocket->发送((char *)&command,sizeof命令);打破;案例wm_rbuttondown:memset((char *)和commmand,0,sizeof(命令)); command.id = rbuttont; m_precbmpsocket-> send((char *)&命令,sizeof(commren); case wm_rbuttonup:memset((char *)&command,0,sizeof(命令)); command.id = rbuttonu; m_precbmpsocket-> send((char *)&命令,sizeof(命令)); break; case wm_lbuttondblckk:memset((chainr *)&command,0,sizeof(命令)); command.id = lbuttondd; m_precbmpsocket-> send(char *)&命令, sizeof(命令));打破; case wm_rbuttondblclk:memset((char *)&command,0 sizeof(命令); command.id = rbuttonddd; m_precbmpsocket-> send(char *);弓;案例wm_mousewheel:memset((char *)&命令,0,sizefof (命令))command.id = mousewheel; command.z =(短)hiword(pmsg-> wparam); m_precbmp​​socket->发送(char *); // afxmessagebox(buf1);打破; case wm_mbuttondown:memset((char *)&command,0,sizeof(命令)); command.id = MBD; command.z =(short)hiword(pmsg-> wpart); m_precbmpsocket-> send((char *)&命令,sizeof(命令); break; case wm_mbuttonup:memset((char *)&command,0,sizeof(命令)); command.id = mbu; command.z =(短)Hiword(PMSG-> WPART); M_PRECBMPSOCKET->发送(CHAR *)&命令,siadeofmand);打破; case wm_mbuttondblclk:memset((char *)和commmand,0,sizeof(命令)); command.id = mbdd; command.z =(short)hiword(pmsg-> wparam); m_precbmpsocket->发送(char *)和commmand,break;}}} return cview :: pretranslatemessage(pmsg);} rection命令在客户端部分:void cemployersocket :: onreceive(int nerrorcode){// todo:添加您的规范这里的Ialized代码和/或调用基类CSocket :: OnReceive(NERRORCODE);命令命令;字节* buf =(byte *)malloc(5120); int rec =接收(buf,5120,0); // msgtype [rec-1] ='\ 0'; memcpy(&command,buf,sizeof(命令)); // afxmessagebox; switch(command.id){case b:{m_pdlg-> sendbitmap(此); //接收类型是B //发送位图结构}中断; case d:{m_pdlg-> sendbitdata(这个); //发送位图数据}中断;案例getmos:getMoseProc(命令);打破;案例lbuttond:lbuttondproc(命令)中断;案例lbuttonu:lbuttonuproccommand);打破;案例RBUTTOND:RBUTTONDPROC(命令);打破;案例RButtonu:RButtonuProc(命令);打破;案例lbuttondd:lbuttonddproc(命令);打破; case rbuttondd:rbuttonddproc(命令);打破;案例MBD:MBDProc(命令);打破;案例mbu:mbuproc(命令);打破;案例MBDD:MBDDPROC(命令);打破;盒式鼠标轮:MouseWheelProc(命令);打破;案例keydown:keydownproc(命令);打破; case keyup:keyupproc(命令;中断;默认值:break; dword getmoseproc(命令命令){char buf1 [256]; sprintf(buf1,“%d%d”,command.x,command.y); // AFXMensSageBox(Buf1); setCursorpos(command.x,command.y);返回0; dword lbuttondproc(命令命令){mouse_event(mouseventf_leftdown,0,0,0,0);返回0; dword lbuttonuproc(命令命令) {mouse_event(mouseventf_leftup,0,0,0);返回0; dword rbuttondproc(命令命令){mouse_event(mouseventf_rithdown,0,0,0,0);返回0; dword rbuttonuproc(命令命令){mouse_event(mouseventf_rightup, 0,0,0);返回0; dword lbuttonddproc(命令命令){mouse_event(mouseEventf_leftdown,0,0,0,0); mouse_event(mouseventf_leftup,0,0,0,0); mouse_event(mouseventf_leftdown,0,0,0,0); mouse_event(mouseventf_leftup,0,0,0,0);返回0; dword rbuttonddproc(命令命令){mouse_event(mouseventf_ridedown,0,0,0,0); mouse_event(mouseventf_rightup,0,0,0,0); mouse_event(mouseventf_rithdown,0,0,0,0); mouse_event(mouseventf_rightup,0,0,0,0);返回0; dword mbdproc(命令命令){mouse_event(mouseventf_middledown,0,0,0,0);返回0; dword mbuproc(命令命令){mouse_event(mouseEventF_middleup,0,0,0);返回0; dword mbddproc(命令命令){// afxmessagebox(“dd”); mouse_event(mouseventf_middledown,0,0,0); mouse_event(mouseventf_middleup,0,0,0); mouse_event(mouseventf_middled.拥有0,0,0,0); mouse_event(mouseventf_middleup,0,0,0,0。);返回0; dword mousewheelproc(命令命令){mouse_event(mouseventf_wheel,0,0,command.z,0);返回0; dword keydownproc(命令命令){keybd_event(command.key,0,0,0,0); // keybd_event(command.key,0,keyeventf_keyup,0);返回0; dword keyupproc(命令命令)/ / no {// char buf [256]; // sprintf(buf,“%d”,command.key); // afxmessagebox(buf); // printf(“4”); keybd_event(command.key,0,keyeventf_keyup,0);返回0;}

责任编辑(尤尼斯·卡布尔

以上就是关于**远程控制源码,java远程控制电脑**的全部内容,了解更多请关注蚂蚁资源网。
  • 全部评论(3)
  • 123qwe
  • 易语言远程控制源码不能用,您好,这样的:1、远程控制只有在局域网中才可以自动识别主控端的IP~不让就要自己写IP了 ,你可以找找被控端连接主控端IP的命令行,修改成自己电脑的IP就好了~这样才可以在广域网中使用。2、如果主控段是在局域网里面的话,那么主控段就需要进入路由器设置端口映射!!才可以的。不然是连接不上的。
  • 2021-02-11 21:07:46
  • 电竞比分源码专营
  • http://www.2ccc.com/search.asp?KeyWord=%BB%D2%B8%EB%D7%D3灰鸽子VIP1.2的源代码灰鸽子是一个远程控制类软件,主要功能有:1.文件管理:模枋 Windows 资源管理器,可以对文件进行:复制、粘贴、删除,重命名、远程运行等,可以上传下载文件或文件夹,操作简单易用。2.远程控制命令:查看远程系统信息、剪切板查看、进程管理、窗口管理、外设控制、服务管理、共享管理、代理服务、MS-Dos模拟、其它控制!3.捕获屏幕:不但可以连继的捕获远程电脑屏幕,还能把本地的鼠标及键盘传动作送到远程实现实时控制功能!4.注册表模拟器:远程注册表操作就像操作本地注册表一样方便!5.远程通讯:除普通的文字聊天以外,还有语音聊天的功能(双方ADSL上网情况下语音良好)!6.代理服务:可以让服务端开放Socks5代理服务器功能,还可以让服务端开放FTP功能!7.命令广播:可以对自动上线主机进行命令播,如关机、重启、打开网页等,点一个按钮就可以让N台机器同时关机或其它操作!
  • 2021-02-11 21:07:46
  • xiaozhang
  • 有了源码就用编译器对源码进行编译生成可执行文件,不同语言的源码编译器不同
  • 2021-02-22 14:30:01
最新发布的资讯信息
【简历/资料|内地女明星】 殷茹基本资料( YR个人简历介绍)(2020-12-06 15:19)
【简历/资料|内地女明星】 曹菁基本资料( CJ个人简历介绍)(2020-12-06 15:18)
【简历/资料|内地女明星】 王安妮基本资料( WAN个人简历介绍)(2020-12-06 15:18)
【简历/资料|内地女明星】 白琼基本资料( BQ个人简历介绍)(2020-12-06 15:17)
【简历/资料|内地女明星】 王世霞基本资料( WSX个人简历介绍)(2020-12-06 15:17)
【简历/资料|内地女明星】 宋煜基本资料( SY个人简历介绍)(2020-12-06 15:16)
【简历/资料|内地女明星】 钱增基本资料( QZ个人简历介绍)(2020-12-06 15:16)
【简历/资料|内地女明星】 胡晓黎基本资料( HXL个人简历介绍)(2020-12-06 15:15)
【简历/资料|内地女明星】 李佳慧基本资料( LJH个人简历介绍)(2020-12-06 15:15)
【简历/资料|内地女明星】 张洛嘉基本资料( ZLJ个人简历介绍)(2020-12-06 15:14)
联系客服
网站客服 联系客服
手机版

扫一扫进手机版
返回顶部