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