和记娱乐


网站导航

联系我们

和记娱乐

联系人: 

电 话:021-64057486

公司网址:http://www.happy123456789.com

   址:成都市松江区漕河泾松江新兴产业园区研展路丰产支路55号B座803室

邮编:201165


通信科技

您的当前位置: 和记娱乐主页 > 通信科技 >

VC下远程控制(桌面)的完整实现

发布日期:2020-02-06 09:44 来源:和记h88 发布人:和记娱乐 点击:

  分为两个软件,一个为【主机】,一个为【远程终端】。【远程终端】通过鼠标键盘可以控制【主机】程序;【主机】将界面传送到【远程终端】显示。

  ① 【主机】端的界面位图传输功能使用的是《Visual C++C6.0技术内幕第五版》源码ex34a的Blocksock,这个TCP套接字类非常好用,因为带了“超时取消”功能,在工程中多多使用这样的类;

  ② 【主机】端的桌面位图捕获,见CopyBitmap、ToMemory两个函数,分为实现了获取桌面HBITMAP和将这个HBITMAP完整的按bitmap格式保存到内存中。ToMemory的第三个参数为像素颜色,可选择32、24、16、8,自己试一试,会占用不同的内存容量,取8,这样一幅800×600的位图不压缩时占用480K字节多;

  ③ 【主机】端的位图压缩,采用了开源项目miniLZO,这个开源压缩项目非常好用。经验证,一般界面下的位图,压缩后压缩比可以达到90%而且速度超快。这些比例数字都在程序中显示;

  ④ 鼠标键盘控制信息采用了低级钩子的方法获取,注意,低级钩子它们并不需要单独写DLL。这一部分参见(VC6捕获鼠标事件(移动、单击等)的一些总结(MFC消息、DriectInput、钩子)),说明了为什么要使用低级钩子来换取;

  ⑥ 为了提高程序的健壮性,使用毫秒级的多测时函数,测量发送、接收花费的时间,做到心中有数;

  ⑦ 【远程终端】把收到的压缩位图,解压后,使用函数GetHBmp得到HBIMAP,并使用一个位图控件做显示。

  使用时,先将每个程序的IP地址设一下(每个程序有两处IP需要设,IP指的是都是对方的IP地址),先运行【远程终端】,再运行【主机】程序。

      和记娱乐,和记h88,h88平台官网