NET远程计算机管理工具毕业论文.doc_第1页
NET远程计算机管理工具毕业论文.doc_第2页
NET远程计算机管理工具毕业论文.doc_第3页
NET远程计算机管理工具毕业论文.doc_第4页
NET远程计算机管理工具毕业论文.doc_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NET远程计算机管理工具毕业论文目录摘要IAbstractII第1章 绪论11.1项目背景11.2项目目的及意义11.3国内外研究现状11.4要解决的主要问题2第2章 技术研究32.1 .NET框架及C#语言32.1.1 .NET框架发展及特性32.1.2 C#语言特性42.2 Microsoft Visual Studio 2010旗舰版的使用52.3 RDP协议65第3章 项目需求分析63.1 需求概述63.2 需求详述63.2.1 项目要实现的目标功能63.2.2 连接功能的详述63.2.3 通过控制台连接73.2.4 断开连接73.2.5全部连接73.2.6 全部断开73.2.7 导入导出功能73.2.8 系统安全性详述73.2.9 系统可用性详述73.3 程序用例图8第4章 总体设计94.1 项目结构概述94.2 程序开发结构类图9第5章 详细设计145.1 主窗体详细设计145.2 新建远程计算机连接详细设计155.3 导出设置详细设计175.4 导入设置详细设计185.5 设置功能详细设计185.6 “远程连接”模型详细设计19第6章 程序实现及软件测试效果图216.1 系统功能结构图216.2 程序新建远程连接226.3 连接成功后界面226.4 磁盘共享功能演示226.5 导出设置功能236.6 导入配置文件246.7 设置功能演示:266.8 系统测试276.8.1 测试用例276.8.2 测试结果296.8.3 问题解决情况29第7章 项目总结31参考文献32致谢33附录3440第1章 绪论 在开始项目之前,笔者想说明为什么选择这样一个毕业设计题目,以及为什么选择相关的技术来开发这个软件,开发这个软件又有什么意义和目的,这要从目前的信息技术行业背景及实际应用需求等方面来谈。1.1项目背景目前.NET是互联网,网络技术的代名词,它的出现是要改变现在的开发模式,并使应用程序的性能和使用方式发生一次飞跃。.NET是微软下一代的操作平台,它允许人们在其上构建各种应用方式,使人们尽可能通过简单的方式,多样化地、最大限度地从网站获取信息,解决网站之间的协同工作,并打破目前计算机、设备、网站、各大机构和工业界间的障碍,即所谓的“数字孤岛”,从而实现因特网的全部潜能,搭建起第三代互联网平台。.NET将会更好的融入到人们的生活,学习和工作中,更广泛,更深入更全面得渗透到开发者,学校和客户手中,它的未来发展前景以及潜在的前途将不容小觑,值得我们引以重视。另一方面,作为 .NET的核心开发语言,C# 顺理成章地浮出了水面。C#是随着.NET Framework一起发布的一种新语言,是一种崭新的面向对象的编程语言,强调以组件为基础的软件开发方法。它不但结合了Visual Basic的简单易用性,同时也提供了Java和C+语言的灵活性和强大功能。C#在.NET Framework构架中扮演着一个重要角色,可以说它是Microsoft公司面向下一代互联网软件和服务战略的重要内容1。1.2项目目的及意义因此,笔者选择.NET平台及C#语言作为本软件开发的基本技术,对于课题的选择,在公司工作的经历给我启发,公司的日常业务包括软件的开发及维护等,尤其对于维护这一方面,各个工作的主机服务器等往往相距较远,甚至不在同一地点,各自执行着不同功能,这给日常运行维护的人员带来诸多不便,有时为了查看一个运行数据,就要从一栋楼到另一栋楼去查看对应的主机,如此造成工作效率大打折扣,运维人员也深感疲惫,如果能有一个软件可以远程访问各个位于不同位置的主机,那么运维人员就可以轻松的实时管理各台远程的计算机,可以提高企业员工的工作效率和工作兴趣。1.3国内外研究现状当前,在远程计算机管理工具的研究开发方面,国内外都是硕果累累,涌现出众多优秀的软件,在国外,Rsuupport远程控制系列是远程控制行业内数一数二的远程控制产品,具体有三款产品,分别为RemoteCall、RemoteHelp和RemoteView;VNC远程控制软件,(Virtual NetworkComputing虚拟网络计算)最早是一套由英国剑桥大学ATT实验室在2002年开发的轻量型的远程控制计算机软件,其采用了GPL授权条款,任何人都可免费取得该软件,VNC软件主要由两个部分组成:VNCserver和VNCviewer。在国内,网络人远程控制软件是正规合法的软件,不会被杀毒软件当作病毒查杀,不会影响系统的稳定性。通过输入对方的IP和控制密码就能实现远程监控;网眼远程控制软件是伴随着企业对信息的安全防护和技术的广泛应用应运而生的,它是一款功能强大的计算机监视、控制与管理系统软件,是为现代企事业的管理人员量身定做的企业管理软件。1.4要解决的主要问题在毕业设计里,笔者所要研究的内容主要包括如何使用.NET平台及C#语言进行应用软件的开发,尤其是面向对象的窗体程序的开发,开发工具Microsoft Visual Studio 2010旗舰版的使用,以及远程计算机管理工具所需要的一些技术问题,远程桌面,远程控制,远程连接等技术,包括RDP协议的原理及使用。 到这里,笔者大致说明了选择这个课题的原因,接下来就要为开始项目做一些技术知识的准备,针对项目可能会用到的技术知识,笔者做了一些基本的研究学习,在下一章笔者对所学习到的主要内容进行了总结。第2章 技术研究 在这一章节中,笔者总结了在技术知识准备阶段所学习到的主要内容,主要包括.NET平台,C#语言以及程序的核心功能所需要的RDP协议等内容。2.1 .NET框架及C#语言2.1.1 .NET框架发展及特性 Microsoft .NET 不仅语言独立,同时也语言集成。这意味着你可以从别的类继承,捕获异常,利用不同语言的多态10。.NET Framework(.NET Framework) 是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。.NET经过众多版本的不断发展优化升级,主要历程如表1-17:版本完整版本号发行日期Visual StudioWindows默认安装1.01.0.3705.02002-02-13Visual Studio .NETWindows XP Tablet and Media Center Editions322.5732003-04-24Visual Studio .NET 2003Windows Server 20032.02.0.50727.422005-11-07Visual Studio 2005Windows Server 2003 R23.03.0.4506.302006-11-06Windows Vista, Windows Server 2000122.82007-11-19Visual Studio 2008Windows7, Windows Server 2008 R24.04.0.30319.12010-04-12Visual Studio 2010Windows 7 (recommended)08052011-09-13 (Developer Preview)Visual Studio 11Windows8, Windows Server 8表1-1 .NET版本发展历程以上是.NET各版本框架大致情况,在本次设计中使用的开发环境是Visual Studio 2010,基于.NET4.0框架,因此对.NET4.0框架做进一步研究:.NET框架 4.0主要增加了并行支持,英文版于2010年4月12日推出。企业基础 .NET提供开发软件的独立平台,内建高度安全的网络系统,相当倚重软件元件以及元件导向程式。在这方面它完全取代前者(COM)12。.NET的初级组成是CLI和CLR。CLI是一套运作环境帮助,包括一般系统、基础类库和与机器无关的中间代码,全称为通用中间语言(CIL)。CLR则是确认操作密码符合CLI的平台。在CIL执行前,CLR必须将指令及时编译转换成原始机械码。所有CIL都可经由.NET自我表述。CLR检查元资料以确保正确的方法被调用。元资料通常是由语言编译器生成的,但开发人员也可以通过使用客户属性创建他们自己的元资料。 如果一种语言实现生成了CLI,它也可以通过使用CLR被调用,这样它就可以与任何其他.NET语言生成的资料相交互11。CLR也被设计为操作系统无关性。当一个汇编体被加载时,CLR执行各种各样的测试。其中的两个测试是确认与核查。在确认的时候,CLR检查汇编体是否包含有效的元资料和CIL,并且检查内部表的正确性。核查则不那么精确。核查机制检查代码是否会执行一些“不安全”的操作。核查所使用的算法非常保守,导致有时一些“安全”的代码也通不过核查。不安全的代码只有在汇编体拥有“跳过核查”许可的情况下才会被执行,通常这意味着代码是安装在本地上的。通过.NET,你可以用SOAP和不同的web服务进行交互。2.1.2 C#语言特性C#语言功能主要包括2:1) 完全支持类和面向对象编程,包括接口和实现继承,虚函数和运算符重载。2) 一致性且定义完善的基本类型集。3) 对自动生成XML文档的内置支持。4) 自动清理动态分配的内存。5) 可以完全访问.NET基类库,并易于访问Windows API。2.2 Microsoft Visual Studio 2010旗舰版的使用Microsoft Visual Studio 2010 Ultimate 自带一些强大的工具,能够简化整个应用程序开发过程。团队通过利用高级协作功能、集成的测试和调试工具来确保每次都能交付高质量的代码,从而可以提高工作效率并节约成本8。首先从微软官网下载Microsoft Visual Studio 2010旗舰版试用版,安装后即可试用,笔者主要是使用基于Visual C#的Winform开发,建立一个解决方案,然后可以建立多个工程,分别处理不同内容,整个项目大致结构就是一个方案下多个工程。2.3 RDP协议6远程桌面协定(RDP, Remote Desktop Protocol)是一个多通道(multi-channel)的协定,让使用者(用户端或称“本地电脑”)连上提供微软终端机服务的电脑(服务器端或称“远程电脑”)。大部分的Windows都有用户端所需软件。它的主要功能包括以下内容: 多种显示支持,包括8,15,16,24,32位元色。 128位元加密,使用RC4加密算法。(此为内定的加密方式;比较旧版的用户端可能使用较弱的加密强度)文件系统转向支持,使用者可在使用远程电脑的过程中,取用本地(用户端)电脑上的文件系统。 打印机转向支持,在使用远程电脑时,可以使用本地(用户端)电脑上的打印机输出,包括直接连在用户端电脑的打印机或网络共享打印机。Windows 的剪贴簿资料可以在远程及本地电脑之间互通。有了必要的知识储备,就可以正式开始软件项目,首先要从需求分析开始。第3章 项目需求分析再简单的软件系统,也有它高度的内在复杂性,因此它们同样需要遵循工程准则9。需求分析是软件工程中非常重要的一步,它是整个软件开发过程的重要指导,该需求分析主要是根据毕业设计题目的要求。3.1 需求概述.NET远程计算机管理工具的主要需求就是要能够连接远程的计算机,通过局域网或者互联网都可以连接,连接后可以使用远程计算机上的合法用户的用户名及密码登陆到远程计算机。大致上应该包括下面这些需求:1)功能性:实现软件基本业务要求,且具有完善的安全特性。2)可用性:提供友好可靠的交互界面,提供良好的操作体验。3)可靠性:提供可靠的系统错误处理能力,减少系统异常。4)可支持性:提供软件的适应性,提供系统的可配置可升级性等。3.2 需求详述3.2.1 项目要实现的目标功能类似远程桌面,但是远不止远程桌面,NET远程计算机管理工具要实现多开,多连接的功能,能同时连接多台远程计算机,互不影响,而且保持多台计算机都应该有较高的连接使用效率,从菜单功能的设置上来讲,主要包括以下实用的功能:1)连接功能,远程连接到一台远程计算机。2)通过控制台连接,通过控制台连接到远程计算机。3)断开连接,断开一个选择的连接。4)全部连接,同时连接多台远程计算机。5)全部断开,同时断开与多台远程计算机之间已经建立的连接。6)导入导出功能,可以从本地导入一个连接的文件,或者将已保存到程序中的连接导出到本地,保存成一个连接文件。7)设置功能,可以直接进行批量的远程连接的配置。3.2.2 连接功能的详述连接功能可以选择一个已经加载到程序中的远程连接,是程序的基本功能,另一方面,也可以选择连接到一个新的连接,用户可以自定义一个新的远程连接,定义之后可以保存到本地,然后连接到这个新建的远程连接。3.2.3 通过控制台连接通过控制台的连接与上一个连接功能十分类似,所不同的是它将通过控制台连接,通过控制台来操作远程计算机。3.2.4 断开连接这个功能就是要断开当前选中的远程连接,安全退出,释放连接过程所占用的资源等。3.2.5全部连接这个功能是该远程管理工具的批量处理功能的体现,选中全部连接可以同时打开所有在程序中已经定义的远程连接,可以从本地导入一个配置文件后,连接到所有这个配置文件里的远程连接。连接将以一个个的标签的形式打开,类似浏览器一样,可以很方便的管理每一个远程连接的计算机。3.2.6 全部断开这个与上面全部连接是相对应的功能,这个功能就是断开当前所有已经建立的连接,这样就可以实现批量的操作,也是一个非常实用的功能,也是该管理工具不同于简单的远程桌面的一个特色。3.2.7 导入导出功能导入导出功能是一个非常实用的功能,也是非常关键的功能。导出功能,就是把在程序中保存的远程连接的详细属性信息全部保存到一个自定义的文件。另一方面,导出的文件属于自定义的文件,这些文件将会作为程序日后导入链接使用的文件,所以要涉及到解密的过程,这些将在系统详细设计里详述。3.2.8 系统安全性详述在本系统中,首先要考虑到的安全性就是导入导出功能,因为这里涉及到远程计算机登陆用户的用户名及用户口令等敏感信息,这里应该采取加密解密算法,对敏感信息进行加密解密操作。另一方面,程序运行过程中,也应该保持远程连接的稳定性,不至于操作突然中断造成一些不必要的损失,在该管理工具中,采用的主要连接方式是通过RDP协议,在这样的连接中,如果连接意外中断,会话状态会被自动保存,不会造成正在进行中的工作意外中断,稍后可以重新登录远程主机继续刚才断开的连接。操作的时候也要保存连接的保密性,不至于被未被授权的用户窥视等。3.2.9 系统可用性详述系统应该提供给用户较好的操作体验,简洁实用,操作选项上,使用一个菜单有不同的菜单项,分别进行不同的操作,功能一目了然,同时,为考虑到多连接时的操作方便,每一个打开的连接,都以一个新标签的形式打开,类似浏览器一样的功能。在操作上,可以一次打开一个连接或断开一个连接,也可以同时连接多台远程主机。3.3 程序用例图程序用例见图3-1:图3-1 程序用例图下面对各个用例进行简单描述:“远程连接”是操作菜单下的几个主要功能的概括,包括“连接至”以及“通过控制台连接至”,以及“全部连接”等,图中用例概括成了2个用例功能,分别是“连接已有主机”以及“新建主机”,因为程序中连接功能上大致可以分为连接已有的及新建一个连接来连接,这些连接是针对远程主机。做完需求分析,我们就可以据此对整个远程计算机管理工具做出整体上的设计,笔者在下一章给出了项目的总体设计的主要内容。第4章 总体设计参照上一节的需求分析,做出这个项目的总体设计,这样,项目就有了一个大致的轮廓,软件的结构等也就更加清晰。4.1 项目结构概述项目开发使用的软件工具及开发运行环境: 工具软件:Visual studio2010, 框架版本:framework4.0, 操作系统:windows7,开发使用32位个人PC,程序运行要求:Windows2000 server及更高版本的windows操作系统,需要framework4.0支持。本系统作为一个完整的解决方案,一共包括3个工程:项目主要工程,数据操作工程,远程连接机器模型工程。项目主要工程,是项目的主要部分,包含程序的主窗体等各个用户操作直接使用的窗体界面,还有一些程序所需要的类库等的引用,图片等程序资源以及程序的配置等;数据操作工程,主要包括两个类,数据序列化类和一个数据加密解密用的类,这个工程的类主要用于对程序中一些敏感数据进行加密解密使用;远程连接机器模型工程,这个工程包括一个类,这个类定义了远程连接的模型,包括一个完整的远程连接所需要的各个属性参数及方法等。总体说就是以下3层结构:视图层:视图是模型的表示,它提供用户交互界面。包括:各个操作的窗体界面控制层:用控制器提供一个控制和处理请求的集中入口点,负责接收、截取并处理用户请求(典型情况下是一个运行浏览器的用户);决定执行什么商业逻辑功能。包括:所有实现逻辑的类模型层:模型提供了业务实体对象和业务处理对象,并通过业务实体对象实现了对视图和模型之间交互的支持。包括:主机(包含连接名,主机名或IP地址,登录密码等)。4.2 程序开发结构类图主工程的类结构比较清晰,FrameBase类作为所有主工程的窗体类的基类,它定义了在本程序中所有用户界面的一些基本外观属性,主窗体中所有其他的窗体类都直接或者间接的继承自该基类,这样有利保证该程序中所有的窗体风格一致,符合软件设计的界面一致性原则。具体来说,包括下述派生窗体类:newConnectionFrame类,这个是“新建连接”的窗体类;addSettingsFrame类,是“添加设置”类;newRemoteMachineFrame类,新建远程主机连接类;newSettings类,“新建设置”;mainFrame,这个是主窗体类。主工程中各个类的主要方法设计如下:1)FrameBase类的主要数据成员及方法见表4-1:属性或方法名称描述public Machine GetRemoteDesktop(string parRemoteDesktopConnectionName)获取一个远程桌面连接,返回机器模型Public ListGetRemoteDesktops( )返回远程连接列表public List GetAutoConnectRemoteDesktops()获取自动远程连接的桌面public bool SaveRemoteDesktop(Machine parMachine, bool openedForEdit)保存远程连接,并返回bool型变量指示是否保存成功public void DeleteRemoteDesktop(string parMachineName)删除远程连接public DataTable GetRemoteDesktopsDataTable()获取远程连接表public void SaveSettings(string password)保存配置public void LoadSettings(string password, string fileName)加载设置到菜单中表4-1 FrameBase类2)newConnectionFrame类的主要数据成员及方法见4-2:属性或方法名称描述private Machine _Entity新建的连接实体private void chkSaveSettings_CheckedChanged()获取“保存连接”是否选中的方法private void btnConnect_Click()连接按钮的事件表4-2 newConnectionFrame类3)addSettingsFrame类的主要数据成员及方法见表4-3:属性或方法名称描述public void LoadGridData()为设置窗体内控件加载数据private void dgrRemoteDesktops_CellContentClick“设置”内单元格的单击事件,比如删除,修改等功能private void btnNew_Click()新建按钮的事件表4-3 addSettingsFrame类4)newSettings类的主要数据成员及方法见表4-4:属性或方法名称描述public bool openedForEdit指示编辑是否打开的属性public newSettings(Machine parMachine)根据机器连接新建设置private void btnSave_Click()保存事件表4-4 newSettings类5)mainFrame类的主要数据成员及方法见表4-5:属性或方法名称描述private void LoadConnectToMenuItems()将连接加载到菜单中public void LoadRemoteConnection(Machine parEntMachine, bool isConsole)新建一个标签打开一个建立的远程连接的方法void tsmiDisconnect_Click()断开连接的方法private void LoadConnectViaConsoleRemoteDesktops()加载通过控制台连接菜单项方法private void settingsToolStripMenuItem_Click()设置菜单对应事件private void disconnectAllToolStripMenuItem_Click()断开所有连接对应事件public void DisconnectConnection(string parRemoteSettingName)断开连接的事件private void connectAllToolStripMenuItem_Click()连接所有的事件private void saveSettingsToAFToolStripMenuItem_Click()保存连接事件private void loadSettingsFromFileToolStripMenuItem_Click()从文件导入设置到程序事件表4-5 mainFrame类主工程类结构见图4-1:图4-1 主工程的类结构图其他工程的结构类图包括数据加密操作工程及远程主机模型工程两个工程,这些类既有窗体界面类,也有一些逻辑应用的类,下面分别说明各个类的基本作用:aboutAuthorFrame类是“关于作者”的窗体类,这个类展示一些关于程序作者及程序版本的基本信息;enterPasswordFrame也是一个窗体类,它是用于在程序中输入密码时调用的窗体;Program是程序启动类,定义了程序启动时的一些重要参数;RemoteDesktopControllerTabPage是一个用户控件类,它定义了主窗体打开的标签的样式功能等;Resources命名空间存储了程序的一些资源文件,比如图片文件;uctRemoteConnectionSettings远程桌面连接的属性类,定义远程连接属性的类。下面简单列出主要类的属性及方法:1)enterPasswordFrame类的主要数据成员及方法见表4-6:属性或方法名称描述Private string _password保存密码的变量public string Password保存密码的属性private void btnOK_Click()输入密码后确认事件表4-6 enterPasswordFrame类2)RemoteDesktopControllerTabPage类的主要数据成员及方法见表4-7:属性或方法名称描述private AxMSTSCLib.AxMsRdpClient4 rdpc定义了一个远程桌面客户端对象void rdpc_OnDisconnected()当连接已经断开时触发private void SetRdpClientProperties设置远程连接属性标签页的属性public void Connect(Machine parMachine)连接远程主机protected override void OnPaint(PaintEventArgs pe)重绘当前标签,使之有关闭按钮表4-7 RemoteDesktopControllerTabPage类其他类结构见图4-2:图4-2 程序中其他类结构图至此,项目总体设计基本完成,但是这并没有给出项目实现的每一个细节,仅有这些,还无法开始项目的编码实现,我们需要知道程序工程结构,程序的类,方法甚至每一个属性等这样更深入的细节,这就是项目的详细设计,这将在下一章中看到。第5章 详细设计在这一章中,我将给出项目实现的每一个细节,包括每一个窗体,以及每一个窗体上的控件等深入的细节,做好这些,就可以进行我们后续的编码实现等。5.1 主窗体详细设计一个下拉菜单,通过不同选项来执行不同的功能,主窗体菜单功能见表5-1:控件名称控件类型控件事件功能描述msMainMenuStrip菜单栏,功能菜单optionsToolStripMenuItemToolStripMenuItem“选项”connectToToolStripMenuItemToolStripMenuItemLoadConnectToMenuItems( )LoadRemoteConnection( )连接至选择的远程连接connectViaConsoleToToolStripMenuItemToolStripMenuItemLoadConnectViaConsoleRemoteDesktops( )LoadRemoteConnection( )通过控制台连接到远程计算机disconnectToolStripMenuItemToolStripMenuItemtsmiDisconnect_Click( )断开选择的远程连接connectAllToolStripMenuItemToolStripMenuItemconnectAllToolStripMenuItem_Click( )一次连接多台一选择的连接disconnectAllToolStripMenuItemToolStripMenuItemdisconnectAllToolStripMenuItem_Click( )同时断开所有已经建立的连接imAndExToolStripMenuItemToolStripMenuItem包含“导入”和“导出两个二级菜单”saveSettingsToAFToolStripMenuItemToolStripMenuItemsaveSettingsToAFToolStripMenuItem_Click( )将程序中的远程连接保存到本地loadSettingsFromFileToolStripMenuItemToolStripMenuItemloadSettingsFromFileToolStripMenuItem_Click( )将程序的远程连接文件导入到程序中settingsToolStripMenuItemToolStripMenuItemsettingsToolStripMenuItem_Click( )设置程序中保存的远程连接,增删改查等操作。表5-1 主窗体菜单功能表除此之外,在主窗体还包括一个TabControl类型的控件tcMain,这个是个空白的标签控件,其中的标签是动态添加的,每个标签就是一个已经建立的远程连接,在本程序中对该TabControl控件进行了一些重载修改,是控件的标签页可以像浏览器一样有个关闭选项,因此用户可以很方便的关闭每一个打开的标签窗口。5.2 新建远程计算机连接详细设计“新建远程计算机连接”是程序中选择“新建”远程连接时会调用的功能,该功能包括众多实用的复选框选项,都可以勾选的,该页面的具体功能控件详细介绍见表5-2:控件名称控件类型控件事件功能描述uctRemoteConnectionSettings1uctRemoteConnectionSettings(本程序中自定义的一种用户空间类)定义了一个远程连接的主要属性,供用户选用。label1Label显示“保存配置”文本chkSaveSettingsCheckBox供用户选是否保存当前这个配置label2Label显示“配置名称”文本txtRemoteDesktopConnectionNameTextBox供用户输入当前配置的名称btnConnectButtonbtnConnect_Click()确定按钮,点击后表示完成新建当前连接。btnCancelButtonbtnCancel_Click()取消按钮,点击表示取消新建当前的连接。5-2 “新建远程计算机连接”页功能控件表这里要特别说明一下uctRemoteConnectionSettings这个类,下面简称为远程连接控件类,这个类是定义在主工程的BasicLib命名空间下的一个类,这个类是一个用户控件类,它继承自UserControl类,这个控件里定义了一个远程连接的实用属性,包括主机名(或IP地址),域名等,远程连接控件类的控件及功能等详细内容见表5-3:控件名称控件类型功能描述label1Lable显示文本“主机名(或IP地址)”txtMachineNameTextBox供用户输入主机名或IP地址。label2Label显示文本“域名”txtDomainNameTextBox供用户输入“域名”label3Label显示文本“用户名”txtUserNameTextBox供用户输入“用户名”label4Label显示文本“密码”txtPasswordTextBox供用户输入“密码”label5Label显示“自动连接”chkAutoConnectCheckBox供用户勾选,勾选后当前连接就会在程序打开后自动连接该远程计算机label6Label显示文本“共享磁盘驱动器”chkShareDiskDrivesCheckBox供用户勾选是否共享磁盘驱动器,勾选后在本机和远程主机之间就可以互相共享磁盘文件label7Label显示文本“共享打印机”chkSharePrintersCheckBox供用户勾选,勾选后在本机和远程主机之间将会共享打印机设备label8Label显示文本“保存密码”chkSavePasswordCheckBox供用户勾选,勾选后将会保存当前连接的用户密码label9Label显示文本“色彩质量”cmbColorDepthComboBox提供下列列表,有多个选项可选,包括:HighColor15,HighColor16,Color256,TrueColor,不同选项决定了建立连接后看到的远程桌面的色彩质量。表5-3 远程连接控件类5.3 导出设置详细设计导出功能在二级菜单里,要使用导出功能,应该按照“选项”,然后“导入导出”到“导出设置”,在点击了“导出设置”选项后,会出现一个“请输入密码”的对话框,这里所要输入的密码用于下次要导入这个远程连接配置文件时所用。密码不能为空,若在输入密码的页面不输入密码,则无法通过,无法继续进行导出操作。用户在导出远程连接配置文件的时候,务必牢记所设置的密码,否则下次将无法导入这个配置文件。在导出功能上,有以下2个窗体类,“请输入密码”窗体类,这个类包括控件见表5-4:控件名称控件类型控件事件功能描述label1Label显示文本“密码”txtPasswordTextBox供用户输入“密码”,改密码将作为下次导入这个配置文件时的安全验证密码。btnOKButtonbtnOK_Click()用户输入密码后,点击确定,就会进入选择保存路径的页面,否则将会提示用户输入密码。表5-4 “请输入密码”窗体类在上一步中,输入正确的密码并点击确定后将会转到“另存为”页面,在这个另存为窗体,用户只要输入保存的文件名即可,本程序的配置文件将会保存为一个.mgm为后缀名类型的文件,保存后用户以后就可以选择导入这个配置文件。5.4 导入设置详细设计按照如下的操作顺序即可,“选项”到“导入导出”到“导入设置”就能打开导入设置功能了,此时程序会有一个安全提示,因为导入设置后程序的配置文件会被导入的配置文件所覆盖,因此会出现“导入配置”窗体,该导入窗体会给出以下提示“导入配置文件,您当前的配置信息将会被清除,是否继续?”,并且用户将会有两个选项,“是”和“否”,若用户选择“是”,将会弹出选择配置文件的窗体,在文件选择窗口也做了过滤限制,只能选择.mgm类型的文件,选择正确的文件后,会提示用户输入密码,只有密码正确才能完成导入设置的过程,才能将选择的配置文件导入到程序中,否则将无法导入。如果用户不想继续导入设置文件,可以选择“否”,这样就可以退出导入设置功能。5.5 设置功能详细设计设置功能就是手动管理程序中保存的远程连配置,在这里可以进行增删改查功能,但是并不需要数据库,这些是保存到Properties文件夹下的Settings.settings文件里,在这个文件建立一个用户,就可以在程序里保存这些数据了。打开“设置”功能的步骤是“操作”到“设置”,点击“设置”就可以打开设置功能。设置会打开一个新的窗体类,即addSettingsFrame窗体,这个窗体可以显示当前所有保存在程序中的远程连接配置,可以修改这些配置,也可以删除这些配置,还可以增加新的配置。 配置功能是新建了一个窗体,在这个窗口完成配置功能的,设置功能窗口的结构与功能见表5-5:控件名称控件类型控件事件功能描述dgrRemoteDesktopsDataGridView列出所有保存在程序中的配置中的详细信息,而且能修改及删除。btnNewButtonbtnNew_Click在配置文件里新建一个新的远程连接。表5-5 设置功能窗口的结构与功能在设置窗体包括一个DataGridView控件和一个按钮控件,但是DataGridView控件里会动态加载两个按钮,“编辑”和“删除”功能按钮,每一条记录包含列见表5-6:列名功能描述远程连接名程序保存的远程连接的名称用户名远程连接里的登陆远程主机的用户名主机名远程主机的主机名或者远程主机的IP地址编辑提供编辑功能的按钮删除点击可进行删除操作,在提示窗口选择删除表5-6 每条记录的列上述就是编辑功能的详细设计,下面在系统实现里会有详细的系统功能工作图展示出来。5.6 “远程连接”模型详细设计“远程连接”作为本程序中使用的一个核心模型,作为一个单独的工程建立,这个模型的主要字段属性见表5-7:字段名字段类型字段说明_AutoConnectbool表示程序启动时是否自动执行该远程连接_ColorDepthColors色彩深度,有可供选择的选项_DomainNamestring所保存连接的域名_MachineNameString所保存的连接的主机名_PasswordString连接中的登陆账户密码_RemoteDesktopConnectionNameString保存的连接名称_SavePasswordBool指示是否保存密码_ShareDiskDrivesBool指示是否共享磁盘驱动器_SharePrintersBool指示是否共享打印机_UserNameBool连接账户的用户名表5-7 “远程连接”模型属性通过详细设计可以看出整个解决方案包括3个工程,我也给出了每一个工程的实现细节,下面开始软件项目的核心部分,编码实现,当然在程序发布之前,我也要进行反复的测试及问题修改等工作,这些将在下一章节中看到。第6章 程序实现及软件测试效果图本章中笔者展示了程序的功能结构,一些主要功能界面等,至此软件基本成型,我也列出了测试中发现的问题及我是如何解决这些问题的。6.1 系统功能结构图系统功能结构见图6-1:图6-1 程序功能结构图由图4可以看到,系统功能主要分成3大块,连接远程主机是系统的核心功能,可以连接到已经存在的连接或者新建一个连接都可以,值得一提的是远程连接能提供并发的多连接功能。第二块就是导入导出设置,这个可以保存程序中的连接,不用每次都新建连接,建好的连接也可以导入到系统,当然导入导出过程中都需要提供文件的保存或导入密码。第三块就是配置的管理,这块就是对保存在系统中设置进行类似数据库操作的增删改查。功能结构图中的结构是按照程序中的菜单结构以及操作流程。6.2 程序新建远程连接1).新建远程连接窗口,新建时选择色彩质量,如图6-2,图6-2 新建连接界面6.3 连接成功后界面 连接成功后就能看到远程计算机的桌面,在主程序中打开一个标签,然后就可以像操作本机一样操作远程计算机,连接后就能看到远程桌面,如同看本地计算机桌面。6.4 磁盘共享功能演示1).在连接时我们勾选了“共享磁盘驱动器“,因此连接后打开远程主机的资源管理器,就可以看到本机的磁盘及远程主机的磁盘,具体如图6-3:图6-3 勾选“磁盘共享”时看到本地及远程主机的磁盘截面图2).从远程主机选择任意一个文件复制到本地磁盘,反之亦可上述过程演示了在建立连接时选择了“共享磁盘驱动器“后可以在本地和远程主机磁盘直接共享文件,当然也可以共享打印机,这里就不另附图演示了。6.5 导出设置功能1).在“操作“中选择”导出设置“ 2).导出时要输入密码,作为导出文件的安全密码,见图6-4:图6-4 导出设置时设置密码界面这个密码将会作为下次导入这个设置文件时身份验证的安全密码,因此用输入密码的时候务必记住输入的密码。另外,此处的密码不能为空,用户必须在此处输入一个密码,否则将无法完成文件导出工作。输入正确密码后,用户会看到选择一个“另存为“窗口,用户可以在本地选择一个位置保存当前文件,程序效果可见图6-4。6.6 导入配置文件1).在操作中选择导入配置文件时会有安全提示,如图6-5:图6-5 导入设置时出现提示的界面导入配置文件将会覆盖程序中保存的连接,因此会提示用户是否继续执行导入操作,用户选择“是“后将继续导入操作,当然此时只有导出操作成功后才会覆盖本地的设置。2).上一步中用户选择“是“,将会进入选择设置文件,注意,本程序中的设置文件是.mgm后缀名的文件,因此只能选择.mgm文件进行导入操作。选择好文件后,点击“打开“,将会看到输入密码的界面,此时要求用户输入该设置文件的安全密码,如果输入密码错误,将会看到如图6-6的提示:图6-6 导入设置时输错密码的提示将无法继续导入过程,所以用户一定要输入正确的密码才能继续。当看到“导出成功“提示,则表示导入成功,本地的设置已经被覆盖。6.7 设置功能演示:1).设置界面是一个独立的窗体,具体可见图6-7:图6-7 设置功能界面图从图中可以看到,设置界面当前存在一条记录,在记录的最后两列,是“编辑“按钮及”删除“按钮,点击可以对当前记录进行对应的操作,在”设置“的右下角,可以看到一个”新建“按钮,点击可以新建一个远程连接,因此”设置“窗体实习了对本地设置信息的增删改查的四项操作。2).选择“编辑“功能将打开如下编辑界面,新建连接时程序的一个核心功能,界面提供了多种可供用户选择的操作,具体界面效果可

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论