ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:220.33KB ,
资源ID:990354      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-990354.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于CS模式的局域网监控系统━客户端的设计与实现.docx)为本站会员(风****)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

基于CS模式的局域网监控系统━客户端的设计与实现.docx

1、基于 C/S 模式的局域网监控系统客户端的设计与实现摘 要 : 着重介绍了局域网监控软件客户端(被控端)程序的设计方案,分析实现 局域网监控的技术基础和软、硬件环境要求,详细论述了C/S网络系统的Soc ket 通信过 程和编程思想。并通过开发实例阐述了Wi ndows Socket s 在C/S结构的网络中远程通信 的应用,使客户端实现了屏幕抓取、黑屏、锁定鼠标、关闭计算机、隐藏任务栏、隐 藏桌面等功能。另外,要求客户机只有在收到服务器发送的特定指令时才能进行以上 操作,否则弹出接收信息文字的文本框,同时还详细分析了屏幕抓取及其保存与发送 的设计思想及实现方法。关 键 词 : Socket

2、s 屏幕抓取 Wi ns ock APIA M onitor ing System of L AN Based on CS T h e d e s i g n a n d r ea l i za t ion of C l i e n tABSTR AC T:T his pa per m a inly introduc es a desig n of the c l i e nt in L A N m onitoring softw a re . It a na l y se s the ba s i c tec hnolog y a nd the softw a re / ha rdw a r

3、e e nv i ronm ent requirem e nts of the L A N m onitor, i t a l so e l a bora te s the soc k e tc om m unic a ti ona ndtheprog ra m m ingideaoftheC /Snetw ork sy s tem .W i th a n a c tua l ca se , i t show s the a pplic a tion of rem ote c om m unica tion, c a uses the c l i ent to re a l i ze the

4、sc re en ca pture , bla c k scree n, com pute r shutting dow n a nd re s ta rting , ta sk ba r a nd desk top hiding a nd so on. In a ddition, the c l i ent w i l l follow the se opera ti ons only i f i t re ce i v e s the spe c i fi c instruc tions from the serv e r. Otherw i se , i t w i l l spring

5、 te x t box to re c e iv e the inform a tion. In this pa per, i t a l so a na l y se s the de s i g n idea a nd rea l i za ti on of sc re en c a pture in de ta i l .KEYW OR DS:S ock e tsT he scre e n c a pture sW insoc k A PI目录1技术基础11 . 1远 程 控 制11 . 2WI NS OCK API11 . 3编 程 工 具22设计思想(客户端)32 . 1客 户 端

6、( 被 控 端 ) 监 听32 . 2客 户 端 ( 被 控 端 ) 连 接33客户端(被控端)设计过程33 . 1系 统 流 程 图33 . 2界 面 设 计43 . 3功 能 设 计64实验结果94 . 1发 送 信 息94 . 2屏 幕 抓 取9遇到的问题及解决方法9软件的优点和缺点1 0参考文献1 1引言( 1)背景 当今社会,让学生如何正确使用网络正困扰着越来越多的老师,将学校网络接入互联网的意义已无需争辩,但有时不免产生许多令人头疼的问题:许多学生在上机课 时泡在网上,或通过 MSN、QQ和朋友聊天,或查看与学习不相关的网站,学习无效率 可言;在公司里员工将公司当作网吧,工作也没效

7、率,甚至于泄露公司的机密资料。 为了避免这些状况发生,也为了更有效地监控局域网的工作状况,满足计算机局域网 用户的各种需求,同时因为 De l phi 具有强大的网络功能,所以我们选择了基于 De l phi 的局域网监控软件的课题。( 2)远程控制的发展史及前景起初,使用远程控制软件,是为了让 PC 用户在离开办公室时能访问其台式 PC 硬 盘中的信息,甚至可以通过其台式 PC 访问企业网络资源。今天,许多企业和增值分销 商正在把远程控制能力作为有效的技术支持工具。很多网络管理员都采用这类软件对 局域网进行管理,或者在家中更新自己网站的内容。这类软件对于出差在外的商务人 员用处非常大,因为他

8、们可以随时提取自己家里计算机中的数据和资料。远程控制软 件在计算机远程教学和培训中也发挥了不少的作用,使身处异地的学生能够与老师进 行实时交流,犹如坐在同一教室一般。近年来,黑客技术不断成熟起来,对网络安全 造成了极大的威胁。黑客的主要攻击手段之一,就是使用远程控制技术,渗透到对方 的主机系统里,从而实现远程操作目标主机。其破坏力之大,是绝不容忽视的。随着网络技术的进一步发展,网络速度越来越快,家庭办公将成为未来的时尚, 远程技术支持将逐渐占据技术支持的主流。远程教学和培训也将快速发展,企业规模 将迅速扩大。所有这些发展都为远程控制软件提供了一个广阔的天地。( 3)已有的成果和先进技术 如灰鸽

9、子远程控制软件,对被控机器进行的操作包括:文件管理、获取系统信息、剪贴板查看、进程管理、窗口管理、键盘记录、服务管理、共享管理,提供 MS- Dos s hel l , 提供代理服务, 注册表编辑,启动 t e l net 服务,捕获屏幕,视频监控,音频监控,发 送音频,卸载灰鸽子 可以说,用户在本地能看到的信息,使用灰鸽子远程监控都 能看到。还有其他软件比如:Ne t f i ni t y 5. xLCCM2. 51,引起广大用户反响的国内软 件 YAI 等,都是功能强大的远程控制软件。( 4)软件内容和采用的方法 我们现在所研究的系统只是最基本的局域网的远程控制,其主要功能包括:自动搜索主

10、机,监控受控端计算机的屏幕,发送信息,在本地操作受控计算机,关闭、重 启受控计算机、锁定鼠标、黑屏等等。本软件的特点在于使用 Wi nSock API 函数和网络远程控制技术实现对局域网中多 台计算机的管理、维护和监控。( 5)软件的组成及运行环境 本系统由服务器(监控端)程序和客户端(被控端)程序组成,只要客户机和服务器都连上网络(都支持 TCP/I P 协议)就可以工作。Cont r ol . exe 装在服务器(监控端)上,监控端执行程序。Unde r cont r ol . exe 装在客户端(被控端)上,被控端后台监控程序,运行时该界面 自动隐藏。本软件在 Wi ndow XP ,

11、De l phi 6. 0 下运行通过。1技术基础1 . 1远 程 控 制我们所说的远程控制指局域网内的远程控制而言,远程控制是管理人员在主机通 过网络,连接远程计算机,通过本地计算机对远程计算机进行管理和维护的行为,当 操 作 者 使 用 主 控 端 电 脑 控 制 被 控 端 电 脑 时 , 就 如 同 坐 在 被 控 端 电 脑 的 屏 幕 前 一 样 ,远程控制技术的工作方式采用CS( 客户机服务器) 模式,控制计算机与被控 计算机连接成功后,通过网络的互联协议( TCPI P) 进行远端控制。控制机好比一个超 级用户,可以直接控制远端计算机。远程控制将被应用于家庭办公、远程教学、企业

12、 内部管理等领域。其 控 制 的 过 程 一 般 是 先 在 主 控 端 电 脑 上 执 行 服 务 器 程 序 , 像 一 个 普 通 的 客 户 一 样 向 被 控 端 电 脑 中 的 客 户 端 程 序 发 出 信 号 , 建 立 一 个 特 殊 的 远 程 服务 , 然 后 通 过 这 个 远 程 服 务 , 使 用 各 种 远 程 控 制 功 能 发 送 远 程 控 制 命 令 , 控 制 被 控 端 电 脑 中 的 各 种 应 用 程 序 运 行 , 我 们 称 这 种 远 程 控 制 方 式 为 基 于 远 程 服 务 的 远 程 控 制 。1 . 2Wi ns oc k API

13、Wi n32应用程序接口( API ) ,简称为Wi n32 API ,是用来编制控制Wi ndows 操作系统 的编程接口,由一组包含在动态链接库中的函数和子程序组成,通过它们可以编程访 问操作系统的功能。在该软件设计中涉及很多Wi ndows 底层操作,软件的主要功能皆由 相应的Wi n32 API 函数来实现。网络编程技术是本软件设计中用到的主要技术之一。在Wi ndows 操作系统环境下应 用程序通过编程接口访问TCPIP协议集的应用程序编程规范称之为WinSock API。Wi ns ock API 提供了一系列的系统调用,使用这些系统调用可以实现TCP、UDP、ICM P 和IP等

14、多种网络协议之间的通信;它采用客户机/服务器的通信机制,使网络客户机方 和服务器方通过各自的Socket 接口形成个完整的套接字,如图1- 1所示。在客户机与服务器之间建立通信信道,实现网络间的连接管理,并可进行数据交 换。套接字是网络通信的基石,是支持TCPI P协议的网络通信的基本操作单元;可以 将套接字看作不同主机间的进程进行双向通信的端点;一个套接字是通信的一端,在 这一端上可以找到与其对应的一个名字;一个正在被使用的套接口都有它的类型和与 其相关的进程;套接字存在于通信领域中。De l phi 对原来的Wi ndows Socket API 进行 了一系列的封装,而本软件的通信就是用

15、Tc l i ent s ocket 控件和Ts er ver s ocket 控件这1两个控件来完成的。服务器客户机S ocket( )B ind( )L i sten( )A ccept( )S ocket( )C onnect( )R ecv( )S end( )阻 塞 , 等 待 客 户 数建 立 连 接 请 示 数 据处 理 服 务 请 求S end( )R ecv( )应 答 数 据 库C lose( )C lose( )图 1 - 1 s oc ke t 接 口 示 意 图在 wi ndows 系统中利用s ocket 进行网络通信有两种主要方式: 第一种是流方式(Stream

16、socket),也称面向连接方式( 用于实现TCP协议) ,这种方式下,两个应用程 序之间先要建立一种虚拟的连接,St r eams ocket 提供了一种可靠的面向连接的数据传 输方法,数据无差错、无重复地发送,且按发送顺序进行接收;第二种是数据报方式(Datagram socket),又称无连接方式( 用于实现UDP协议) ,在进行数据传送以前两端 的程序不需要任何沟通, 但没有提供可靠的、有次序的、无重复的保证,数据包以独立 包形式被发送,不提供无错保证,数据可能丢失或重复,并且接受顺序混乱。本软件 使用St r eam s ocket 实现数据传输。1 . 3编 程 工 具De l p

17、hi 集中了Vi s ua l C+和Vi s ua l Ba s i c两者的优点:容易上手、功能强大,特 别是在界面设计、网络编程等方面更有其独特的优势。所以选用De l phi 作为开发工具。22设计思想(客户端)本软件是由De l phi 编写的,如图1- 1所示,主要运用De l phi 中的Tc l i ent s ocket 控 件和Ts er ver s ocket 控件来实现客户端与服务器的连接,以及相互之间数据的发送和接 收。2 . 1客 户 端 ( 被 控 端 ) 监 听客户端(被控端)在某个地址的某个端口(如2058)监视对服务的请求,也就是 说被控进程一直处于休眠状态

18、,直到一个控制端对这个服务的地址提出连接请求,被 控端如监听到控制端Socket 的连接请求时,被控程序被唤醒并且对控制端的请求做出 适当的反应,即响应控制端Socket 的请求而建立一个新的Socket 句柄与控制端连接。2 . 2客 户 端 ( 被 控 端 ) 连 接当客户端Socket 接收到服务器Socket 的连接请求后,就把客户端Socket 的描述信 息发给服务器一旦服务器确认了此描述,连接就建立了。(本软件在被控端程序运行 时s ocket 控件的act i ve属性为t r ue,所以只要接收到连接请求就自动连接上了)建立 连接后客户端通过辨别服务器发过来的消息,分别进行响应

19、不同的操作,也就实现了 远程控制的功能。Ser ver Socket 的属性设置: Ac t i ve, 属性设为t r ue; Por t ,是通信的端口,必须设置。在软件中设置为2058; Ser ver Typt ,服务器端读写信息类型,设置为s t NonBl ocki ng表示异步读写信 息,软件中采用这种方式。其它属性采用默认设置即可。3客户端(被控端)设计过程3 . 1系 统 流 程 图图3- 1为客户端(被控端)程序的系统流程图,为了达到远程控制的目的,就必须 将被控端软件隐蔽起来,所以被控端的程序只是后台监控程序,并且没有退出程序, 也就是说程序一旦运行只有通过关闭进程的方法

20、才能退出程序。控制端和被控端的 s ocket 连接起来后也就形成了一个通信通路,控制端发送一个命令,被控端通过s ocket 的r ecei vet ext 函数将命令从连接中接收出来放到字符串变量S中,再由S中不同的字符 串来判断响应哪个事件,然后通过调用不同的API 函数来实现控制功能。3开始欢 迎 界 面选 择 判 断屏幕 抓 取关机重启黑屏解除 黑 屏锁定 鼠 标解除 锁 定显示 桌 面隐藏 桌 面隐藏 开 始显示 开 始隐藏 任 务 栏显示 任 务 栏其 他接 收消 息接 收 到 的 命 令 存 放 在 变 量 S 中初 始 化 套 接 字 在 命 令 端 口 监 听3 . 2界

21、面 设 计图 3 - 1系 统 流 程 图客户端的界面主要包括三个:启动时的欢迎界面,程序主界面和黑屏界面。3 . 2 . 1启动时弹出的欢迎界面 启动程序后,在主导界面出现之前,弹出的一个欢迎界面,停留数秒后软件进入主导界面,这个画面的另外一个用处是在处理耗时进程时,为用户展示了一幅优美、 舒心的图像,如图3- 2。实现欢迎界面是在其他窗体之前最先弹出,在Unde r cont r ol . dpr 单元中begi n 后 使友好界面窗体最先显示,其他窗体创建之后,为友好界面设置一个停留时间,方法4是调用Sl eep( mi l l i s econds ) 函数使程序的执行延时给定的时间值

22、。函数功能是:暂停 当前的进程mi l l i s econds 毫秒。如软件中为s l eep(3000),延迟3000毫秒后隐藏欢迎 窗体,并释放其占用的内存资源,但是如果延迟时间较长的话程序看起来好像暂时死 机,因为程序不能够响应延时期间发生的其他消息。3 . 2 . 2程序主界面图 3 - 2欢 迎 界 面把一个s ever s ocket 控件放到f or m上,则应用程序就变成了一个TCP/I P客户端,设 置 Ts er ver s ocket 的por t 属性指定的端口号和服务器por t 的端口号一致( 本软件为 2058),在窗体创建时把s er ver s ocket

23、的Ac t i ve属性设为t r ue,则客户端(被控端) 在启动后就会自动进入监视状态。为了达到远程控制的目的,就必须将被控端软件隐蔽起来,作为一个后台监控程 序,所以其界面要隐藏,并且在任务栏、任务管理器中也不能显示。1)实现在任务管理器中隐藏:在f r mf or m窗体的onc r eat e事件(窗体创建)中调 用 Show Window Async(Application. Handle, SW_HIDE) 函 数 , 它 的 功 能 类 似 于 ShowWi ndow函数,控制可见性,第一个参数为窗口句柄,但它立即返回( 不用等待 目标程序返回隐藏信息) 。并且它有一个副作用:

24、从任务列表中移除目标窗口,将 第二个参数设为hi de。所以调用该函数可以实现在任务管理器(Ct r l +Al t De l ) 中隐藏程序。2)在任务栏里隐藏程序:将隐藏的应用程序窗口设为Tool Wi ndow来移走程序的 任务条图标而避免它再次出现。Tool wi ndows 永远不会有任务条图标。调用API5函数Ge t Wi ndowLong和Se t Wi ndowLong来使应用程序窗口成为一个Tool Wi ndow。 3)实 现 界 面 最 小 化 : 只 需 在 f r mf or m窗 体 的 oncr eat e 事 件 中 使 窗 体 的 Wi ndowSt a t

25、 e属性设为Ws mi ni mi zed就可以了; 通过上面三步的设置,客户端程序在运行时欢迎界面过后,程序主界面将不会显示在桌面、任务栏、任务管理器里,只会在后台运行。3 . 2 . 3黑屏界面 在客户端在执行响应黑屏事件时,会弹出黑屏界面,在执行解除黑屏时,关闭黑屏界面,它的功能是在主窗体里调用的。将其a l i gn属性设为al c l i ent ,其bode r s t y l e 风格设为bs none,使界面在处于最大化时整个窗体都是黑屏,并且是满屏的。3 . 3功 能 设 计客户端通过调用s ocket 的Re cei vet ext 函数将收到的命令数据存放在字符串变量S

26、中,然后根据S中得字符串的不同来响应不同的操作。Re cei vet ext 在Socket 连接中读取字符串。该函数返回连接中已读取的字符串, 它只能工作在非阻塞的方式下,要在阻塞方式下读取信息用Re cei ves t r ea m函数。如 S: =Soc ket . Re cei ve Te xt ; 将收到的字符串指令放在变量S中。3 . 3 . 1关机当客户端(被控端)接收到S中的字符串为cl os e wi ndow时,则响应关机操作, 先提升用户权限,然后通过调用I ni t i a t e Sys t e mShut down()函数来实现操作,再调 用showmessage(

27、)函数来显示关机的对话框。要提升用户权限,先调用Ope nPr oces s Toke n()函数打开一个进程中相关联的访 问 标 志 : Ope nPr oces s Toke n ( Ge t Cur r ent Pr oces s , TOKEN_ADJ UST_PRI VI LEGES, hToke n) ; 第 一 个 参 数 Ge t Cur r ent Pr oces s ( ) 函 数 的 作 用 是 得 到 本 进 程 的 句 柄 ; TOKEN_ADJ UST_PRI VI LEGES 对访问令牌改变特权;再调用LookupPr i vi l ege Va l ue( ni

28、 l , Se Shut downPr i vi l ege , t kp. Pr i vi l eges 0 . Lui d) 通过第二个参数指定权限名字为 关机权限,然后返回一个标识符;最后调用Adj us t Toke nPr i vi l eges ( hToke n, Fa l s e , t kp, 0, ni l , r l ) 函数来修改指定访问标志的权限,设置权限能还是不能;t kp为新的 权限信息。Exi t Wi ndows Ex( EWX_SHUTDOWN, 0) 函数可以关掉或是重启网络上和本地的任意一台指 定的计算机,将第一个参数指定为EWX_SHUTDOWN实现关

29、机功能。3 . 3 . 2重启当客户端接收到S中的字符串为r es wi ndows 时,则响应重启操作,类似于关机6操作,先要调用上面三个函数提升权限,然后通过调用Exi t Wi ndows Ex( EWX_REBOOT, 0) 函数来实现操作(和关机参数不同,第一个参数为EWX_REBOOT来实现重启功能)。3 . 3 . 3隐藏任务栏在 Wi ndows 中 , 系 统 的 任 务 栏 本 质 上 也 是 一 个 窗 口 , 其 窗 口 类 名 为 “Shel l _Tr a y Wnd 。当客户端接收到S中的字符串为not a s kbar 时,则响应隐藏任 务栏的操作,首先调用AP

30、I 函数f i ndwi ndow(s hel l _t r ay wnd, ni l ) ; 获取了任务栏窗 口的句柄,然后调用s howwi ndow( hwnd1, s w_hi de) 通过第二个参数指定其类型为hi de, 来实现对窗口的隐藏。3 . 3 . 4显示任务栏当客户端(被控端)接收到S中的字符串为yes t a s kbar 时,则响应显示任务栏 操作,和上面的一样,先调用f i ndwi ndow( s hel l _t r ay wnd , ni l ) ; 来获得任务栏窗口 的句柄,然后调用s howwi ndow( hwnd1, s w_s how) ; 指定其类

31、型为s how,则任务栏就显示 出来了。3 . 3 . 5隐藏开始按钮当客户端接收到S中的字符串为nobut t on时,则响应隐藏开始按钮操作,先调 用 f i ndwi ndow( s hel l _t r ay wnd , ni l ) 来 获 得 任 务 栏 窗 口 的 句 柄 ; 然 后 调 用 get wi ndow( hwnd1, gw_c hi l d) 函数来获得任务栏上最上面的窗口句柄,gw_c hi l d为源窗 口上最上面的窗口(即开始按钮);再调用ge t c l a s s na me ()为指定的窗口取得类名, 最后调用s howwi ndow( hwnd1, s

32、 w_hi de) 指定其类型为hi de,开始按钮也就隐藏了。3 . 3 . 6显示开始按钮当客户端接收到S中的字符串为yes but t on时,则响应显示开始按钮操作,先 调 用 f i ndwi ndow( s hel l _t r ay wnd , ni l ) ; 来 获 得 任 务 栏 窗 口 的 句 柄 , 然 后 调 用 get wi ndow( hwnd1, gw_c hi l d) 函数来获得任务栏上最上面的窗口句柄(即开始按钮), 再调用get c l as s na me()为指定的窗口取得类名,最后调用s howwi ndow( hwnd1, s w_s how)

33、指定其类型为s how,开始按钮也就显示了。3 . 3 . 7隐藏桌面Wi ndows 桌面本身就是一个窗口,其窗口类名为Pr ogma n ,当客户端接收到S中 的字符串为node s kt op时,则响应隐藏桌面操作,同理:先调用Fi ndWi ndow(Pr ogma n , ni l ) 来获取桌面窗口的句柄。然后调用ShowWi ndow( hDe s kt op, SW_HI DE) 将其类型设 为hi de,桌面就隐藏了。3 . 3 . 8显示桌面7当客户端接收到S中的字符串为yes des kt op时,则响应显示桌面操作,先调用 Fi ndWi ndow( Pr ogma n

34、, ni l ) 来获取桌面窗口句柄;然后调用ShowWi ndow( hDe s kt op, SW_s how) 将其类型设为s how,桌面窗口就显示出来了。3 . 3 . 9黑屏当客户端(被控端)接收到S中的字符串为bl acks r n时,则响应黑屏操作。要 实现整个屏幕都是黑屏在响应黑屏的事件中使Wi ndowSt a t e的属性设为Ws ma xi mi zed就 可以了。 并且在处于黑屏状态时要使黑屏窗体是在桌面最前面显示的窗体, 调用 s et f or egr oundwi ndow( appl i cat i on. Ha ndl e) 即可实现。3 . 3 . 1 0

35、解除黑屏当客户端(被控端)接收到S中的字符串为nobl acks r n时,则响应解除黑屏操 作,直接将黑屏窗体关闭,调用其cl os e方法即可。3 . 3 . 1 1锁定鼠标 当客户端(被控端)接收到S中的字符串为nomous e时,则响应锁定鼠标操作,a : =r ect ( 0, 0, 5, 5) ;rect()函数用来设置移动区域,将范围设置在桌面左上角的正方 形框中;然后用Cl i pCur s or ( a ) ; 将鼠标锁定在上面设置好的区域内。3 . 3 . 1 2解除锁定 当客户端(被控端)接收到S中的字符串为yes mous e时,则响应解除锁定鼠标操作,直接调用Cl i

36、 pCur s or (ni l )将鼠标解除锁定。3 . 3 . 1 3抓取屏幕当客户端(被控端)接收到S中的字符串为get s cr een时,则响应抓取屏幕的 操作。包括抓取整个屏幕,并将图片存在被控端某一指定的位置,将图片转换为J PG 格式并将图片传送回控制端。1)抓取屏幕要抓取的是被控机的整个桌面,所以将其整个屏幕s cr een的大小赋值给一个 bi t ma p变量就可以,然后返回其句柄,调用get dc( 0) 函数,参数0指屏幕。2)保存图片到文件中, my j ep. Save ToFi l e ( c: you. J pg) ; 将图片保存 到c盘下的you文件里。3)

37、 将 抓 取 的 图 像 传 回 控 制 端 , : my j ep. a s s i gn( i ma ge 1. Pi ct ur e . Bi t ma p) ; 将i ma ge 1抓取的BMP图像转成J PG格式, 便于在互联网上传输;再调用s avet os t r eam()函数,my j ep. Save ToSt r ea m( My St r ea m) ; 将J PG图像写入流中,传回到控制端。84实验结果4 . 1发 送 信 息服务器端(控制端)点击发送信息时,会在客户端(被控端)弹出个文本框来显 示发送的内容,如图 4- 1 所示:服 务 器 端 发 送 的 消 息客

38、 户 端 接 收 到 的 消 息 图 4 - 1发 送 与 接 收 消 息4 . 2屏 幕 抓 取当服务器端点击抓屏时, 客户端会抓取自己的屏幕,并先保存在自己的窗体的 i ma ge 中,然后保存到被控机的 c 盘根目录下,如图 4- 2:图 4 - 2客 户 端 的 界 面 中 显 示 的 被 控 机 的 桌 面5遇到的问题及解决方法当我们将控制端和被控端装到同一台机子时,点击关机按钮,可以关闭计算机, 但是将控制端和被控端分别装到两台不同的计算机时,再点关机按钮就没有反应;点9击 重 启 按 钮 时 无 论 装 在 一 台 还 是 两 台 机 子 上 都 没 反 应 ; 这 是 控 制

39、权 限 的 问 题 , wi ndows 2000 等已经加强内核安全性的操作系统,要控制远程机关机、重启,程序必 须拥有一定权限才能成功调用这些函数。通过函数来实现权限提升后,就能控制远程 主机的关机和重启了。在连续点击控制端的控制按钮时,不是一个一个响应其相对应的事件,而是弹出 了发送信息的对话框,并且对话框中显示的内容是点击过的控件发送的字符串的连接, 怎样就能使每个控件之间相互没有影响呢?我们使存放接收到的命令数据 S 在每次执 行后都清空一次,这样当连续点击的时候都不会出现上面的错误了。在点击黑屏时,还会有其他运行界面在黑屏上显示,也就是说黑屏界面并不是在 桌面最前显示的,我们通过调

40、用了 Set f or egr oundwi ndow()函数,来实现了使界面 最前显示在桌面上。抓取屏幕时有时能将被控机的屏幕返回到控制机上,有时却不可以,这应该是网 络的原因而导致的,可以采用将图片分割和压缩图片的方法来解决。6软件的优点和缺点本软件自动搜索安装了被控端的主机,连接任意一台计算机后,通过抓取屏幕来 监控被控端的桌面,根据桌面的屏幕给其发送警告信息,或是其他操作,如黑屏、隐 藏任务栏、隐藏桌面、关机、重启、锁定鼠标等操作,基本实现了局域网内的远程控 制,并且客户端(被控端)程序能随机启动,还实现了在运行时自动隐藏,并在任务 管理器里隐藏的效果。但是由于技术原因及时间的原因,还

41、有好多功能没有实现,也 就是说本软件还有很大扩充的潜力,例如可以直接关闭当前运行的进程、控制远程机 的注册表等等,还有现在的功能比如一些出错处理都还很不完善,希望以后能有所改 进。结 束 语10本套软件命名为“网络管理助手”,这套系统的主要功能就是在已联网成功的局域 网上,管理人员能自动搜索客户机,监视管理局域网中的每一台客户机,能查看客户 机的屏幕,并能控制每台客户机,完成对客户机的计算机黑屏、关闭计算机、重启计 算机、隐藏任务栏、隐藏桌面、锁定鼠标等功能。当然,由于时间的紧迫,经验的缺乏,因为任何的作品都有其不足之处,只有通 过交流才能弥补这一缺陷, 本软件无论是在认识上和设计上都有一些不

42、足之处, 有待于 进一步的修改和制作。在我完成局域网监控系统的过程中,有很多同学给了我很大的帮助,在这里,我 要感谢所有帮助过我,并向我提出过建议的同学。并向我的指导老师 xxx 老师对我的 设计思路的引导与拓宽、培养我的独立思考能力等许多方面的谆谆教导表示深深的敬 意和衷心的感谢!参 考 文 献 1黄超, 罗宏宇. De l phi 网络应用开发技术与实例 M . 北京:清华大学出版社, 2003,166 页到 560 页 2林粤伟, 魏权利. 基于 Vi s ual C+的局域网监控软件的研制 J . 计算机时代, 2005 3艾光利, 马燕. 基于 s ocket s 的计算机远程监控技

43、术及实现 J . 重庆示范大 学学报,2004 4 FELDMANN K, GOHRI NGER J Mul t i me di a s ys t em f or r e mot e di agnos i s of compl ex pl ace me nt ma chi nes J I nt er nat i onal J our na l of Adva nced Ma nuf act uf ng Te chnol ogy, l 999,l 5( 10) :722729 5Chr i s t a Ande r s onMa r kMi nas i 著,马树奇,金燕译局域网从入门到精通 M 北 京:电子T- 业出版杜,199911

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922