如何通过网络获取另一台电脑的当前屏幕(200分)

方栩

Unregistered / Unconfirmed
GUEST, unregistred user!
如何通过网络获取另一台电脑的当前屏幕(win95)
或者在win95下如何获取本机当前屏幕内容,
是否读取显存中的数据,如何读?多谢赐教。
 
必须两台机器都运行一个通讯的程序,Server 向 Client 提供屏幕数据,
象 PcAnywhere 的远程维护功能就是这么做的,我觉得想单方面去读人家
屏幕的数据是不大可能的。
 

取本机屏幕的程序段如下,详细可去我的主页下载:http://www.nbip.net/michaeljia
网络上,被取屏幕的计算机上作一服务程序包含取屏的程序,
其他的计算机向此机器发请求,就可的该机的屏幕!
//*******************************************
var
Fullscreen:Tbitmap;
FullscreenCanvas:TCanvas;
dc:HDC;
begin
timer1.Enabled:=false;
Fullscreen := TBitmap.Create; // create a bimap to save picture
Fullscreen.Width := screen.width;
Fullscreen.Height := screen.Height;
DC := GetDC (0); // get screen dc
FullscreenCanvas := TCanvas.Create; //create screen canvas
FullscreenCanvas.Handle := DC;

Fullscreen.Canvas.CopyRect (Rect (0, 0, screen.Width, screen.Height), fullscreenCanvas,
Rect (0, 0, Screen.Width, Screen.Height));


FullscreenCanvas.Free; //free screen canvas
ReleaseDC (0, DC);
//*******************************
image1.picture.Bitmap:=fullscreen;//哈哈,拿到屏幕了!

image1.Width:=fullscreen.Width;
image1.Height:=fullscreen.Height;
fullscreen.free; //free bitmap
 
前提是两台机器必须连通,网络最好。
1。被监视的机器启动服务程序,后台等待请求,如TCP/IP的LISTEN
(IPX当然也可)。
2。监视的机器上的程序通过网络地址向服务程序发请求。
3。服务程序获取当前机器的屏幕,并返回给监视的机器。
4。监视的机器上的程序将获取的图象数据在窗口中显示。
注:使用TCP/IP编程比较简单。服务程序和请求程序可以作成一个。
整屏图象传输数据较大,可考虑传输当前激活窗口。
当然如果有能力可以截取95中PAINT的操作,如窗口,构件的刷新
消息,然后在另一机器中还原这些操作,这样的效率最高,但要求
较高的编程能力和技术资料。
 
如果是能获得动态屏幕图象,恐怕是天方夜谈了吧。比如能看到其他机器上的
鼠标光标移动。有没有办法?
 
我们中心买了一个叫做 LanStar 的多媒体教学系统(50客户,15000元人民币),其
功能是教师在教师机上操作能够同时播放给多个学生机, 教师还可以选择性的监控学
生在干什么。更有意思的是教师可以遥控学生, 将学生机的控制权完全的掌握在教师
手里。

该系统完全由软件实现,其做法是在服务器上装上它的服务程序,在Windows95机器
上装上客户端程序。这说明捕获零一台机器的画面是完全能够做到的,问题是如何编
程实现。

我想,如果我们各位大虾能够利用孙版主提供的一块宝地将这一个问题讨论出一点眉目来,那可就打破了台湾人垄断多媒体教学领域界线了。

望大家共同努力!
 
获得动态图象当然是可以的。兄弟曾经完成过一个基于NOVELL+DOS的教学
网,就如HUIZHANG所说。
95也没什么不同,只有更方便,只要算法合理,速度够快,为什么不行。
如果是两台机器使用,可使用基于连接的方法,如果是多台机器可采用
数据报的方法,连续扑捉屏幕即可,说穿了就是LOTUS SCREEN CAMERA +
网络通讯。
使用IPX协议,TCP/IP协议,NETBIOS都可实现。使用HOOK的话,连键盘
鼠标操作都能远程控制。
 
读了各位前辈的高见,受益非凡!
但是要同时监视多于一个屏幕时,可以实现吗?
 
100年前的问题了 !
 

Similar threads

回复
0
查看
855
不得闲
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
769
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
764
DelphiTeacher的专栏
D
顶部