定时显示远程计算机的桌面

一、前言

看了大家写了这么多的代码,自己也想贡献一点。呵呵,很多的时候我们在qq的时候都想看看和自己聊天的对方在和哪些人聊天,有什么办法没有?直接一点的就是截获对方的桌面。我看了一下一般的截获的桌面都没有及时的显示和更新,而且每次显示的时候如果从磁盘中读取的话速度未免太慢了一点,可不可以直接将bitmap的数据直接传到网络的终端显示呢?ok这个方法应该可以。闲话免说。开始正式进入我们的话题。

二、服务程序实现

首先要的是在对方的电脑上放入服务器程序:EmployerSever.exe。网络的传送自然少不了的,我采用的是mfc CSocket。控制端的程序是点击“开始服务”就可以接受网络的另一端的连接了。服务端的关键是截取屏幕 ,并且发送出去。如下所示:

void CEmployerSeverDlg::CatchScreen()
{
   // protect类型 只用于内部函数的调用,
   //截获屏幕位图信息和数据信息分别放在btm和lpdata
   CDC dc;
   dc.CreateDC("DISPLAY",NULL,NULL,NULL);
   CBitmap bm;
   int Width=GetSystemMetrics(SM_CXSCREEN);
   int Height=GetSystemMetrics(SM_CYSCREEN);
   bm.CreateCompatibleBitmap(&dc,Width,Height);
   CDC tdc;
   tdc.CreateCompatibleDC(&dc);
   CBitmap*pOld=tdc.SelectObject(&bm);
   tdc.BitBlt(0,0,Width,Height,&dc,0,0,SRCCOPY);
   tdc.SelectObject(pOld);

   bm.GetBitmap(&btm);
   size=btm.bmWidthBytes*btm.bmHeight;
   lpData=new char[size];
   /////////////////////////////////////////////
   BITMAPINFOHEADER bih;
   bih.biBitCount=btm.bmBitsPixel;
   bih.biClrImportant=0;
   bih.biClrUsed=0;
   bih.biCompression=0;
   bih.biHeight=btm.bmHeight;
   bih.biPlanes=1;
   bih.biSize=sizeof(BITMAPINFOHEADER);
   bih.biSizeImage=size;
   bih.biWidth=btm.bmWidth;
   bih.biXPelsPerMeter=0;
   bih.biYPelsPerMeter=0;
   ///////////////////////////////////
   GetDIBits(dc,bm,0,bih.biHeight,lpData,(BITMAPINFO*)&bih,DIB_RGB_COLORS);
}

计算机的桌面-远程桌面连接计算机名">

时间: 2024-08-02 20:30:52

定时显示远程计算机的桌面的相关文章

win7系统-电脑显示“远程计算机或设备将不接受连接”,怎么解决,求大神!

问题描述 电脑显示"远程计算机或设备将不接受连接",怎么解决,求大神! 解决方案 http://jingyan.baidu.com/article/acf728fd20ebe6f8e510a3c7.htmlhttp://zhidao.baidu.com/question/286387967http://bbs.ithome.com/thread-441544-1-1.html 解决方案二: http://zhidao.baidu.com/link?url=QlXT6qQmwj3M20G

win7远程管理xp桌面

作为网管,除了保证网络的正常运行外,还必须维护各个办公室的电脑,解答同事使用电脑中遇到的问题,因此常常在各个科室间来回穿梭,忙的像个陀 螺.其实只要用好Windows远程桌面连接,很多小问题都可以在自己的办公室中远程搞定,省时省力,工作更轻松.本文中管理员使用的是Windows 7,客户端使用的Windows XP,下面为大家介绍远程桌面使用的详细方法. 开启客户端电脑的远程桌面连接 要进行远程桌面管理,先要对本机的网络进行设置,这里先对被管理的XP系统的电脑进行设置.首先进入客户端系统后创建一

远程桌面提示此计算机无法连接到远程计算机该怎么办

  最近有用户在使用win7 64位远程桌面时出错,提示"此计算机无法连接到远程计算机,老太爱计算机无法再分配的时间内连接.请尝试重新连接.如果问题仍然存在,请联系网络管理员或技术支持"(如下图所示)导致无法远程桌面连接,出现这样突发问题,相信很多用户都束手无策,下面来看看系统家园给大家整理的无法连接到远程计算机解决方法吧. 解决方法/步骤: 1.确保远程桌面服务处于启动的状态,端口3389也需要处于打开状态. 2.如果第一步操作不成功的话,就要按照下面来操作了:考虑一下自己的电脑是不

各们大神,江湖救急,在web页面中显示远程服务器桌面问题!!!

问题描述 各们大神,江湖救急,在web页面中显示远程服务器桌面问题!!! 做了一个页面,通过服务器的IP与端口,实现这个页面能够显示服务器的桌面并能进行操作,如果不借助VNC能不能实现?大神们,看到的,知道的,希望不吝赐教...小弟在此感谢!!!

集中管理远程计算机终端程序

虚拟网络计算 (VNC) 和 Microsoft 远程桌面协议 (RDP) 之类的工具轻松地从您的家庭或办公室中登录到并管理远程计算机. 如果您任务管理多个不同的计算机或经常发现与多个远程连接在同一时间打开,合并管理和运行远程连接的开源项目Terminals. 从终端启动远程连接时, 它显示在终端用户界面中新选项卡中.这个终端程序简化在单个窗口中的同时进行的多个远程连接. 和各种终端工作包括 VNC. RDP. 虚拟机的远程控制 (VMRC). 远程访问服务 (RAS). 电信网络 (远程登录)

使用C#控制远程计算机的服务

控制 在.net中提供了一些类来显示和控制Windows系统上的服务,并可以实现对远程计算机服务服务的访问,如System.ServiceProcess命名空间下面的ServiceController 类,System.Management下面的一些WMI操作的类.虽然用ServiceController可以很方便的实现对服务的控制,而且很直观.简洁和容易理解.但是我认为他的功能同通过WMI来操作服务相比,那可能就有些单一了,并且对多个服务的操作可能就比较麻烦,也无法列出系统中的所有服务的具体数

PHP实现关闭远程计算机

有很多方法可以实现远程计算机,这里讲下如果关闭远程WINDOWS计算机,先摘录一段shutdown命令说明 Shutdown命令语法格式为:shutdown [-i |-l|-s |-r |-a] [-f] [-m [\\ComputerName]] [-t xx] [-c "message"] [-d[p]:xx:yy]. "-i"显示图形界面的对话框. "-l"注销当前用户,为默认设置. "-s"关闭计算机. "

服务器远程连接提示由于协议错误,客户端无法连接到远程计算机

今天远程连接服务器的时候提示 中断远程桌面连接  ---------------------------  由于协议错误,客户端无法连接到远程计算机.  请请重新连接到远程计算机.如果客户端依旧无法连接,请跟网络管理员联系.  用远程桌面连接服务器时报错:由于协议错误,会话将被中断.请重新连接到远程计算机.  本以为是服务器的一般性错误,以为重新启动一下服务器就能解决问题,于是让机房重启了一下服务器.可无论怎么试问题仍旧,再用其它电脑试连接,还是一样的问题,无奈只好让人去机房装了个pcAnywh

在电脑上如何控制远程计算机

  具体方法如下: 1.对需要被远程控制的电脑进行设置,右击计算机打开属性; 2.点击左上角的"远程设置"选项; 3.勾选"允许远程协助连接这台计算机"; 4.点击"高级",可以设置远程的详细信息; 5.在另外的电脑上打开开始菜单--所有程序--附件--远程桌面连接; 6.输入要被远程控制的电脑IP以及用户名和密码就可以访问远程计算机.