实验六 基于QT的远程控制详细设计报告
基于QT的界面程序设计报告

目录一、设计目的 (3)二、设计任务及要求 (3)三、方案设计 (3)1 内核编译 (3)2 系统文件 (3)四、嵌入式系统开发环境建立 (3)1 安装交叉编译器 (3)2 安装tslib-1.4.1 (4)3 安装Qt4.7 (4)4 制作文件系统 (5)五、QT移植 (6)1 文件系统挂载 (6)2 生成可执行文件 (6)六、QT界面设计(LED实现) (6)1 安装qtcreater (6)2 添加ARM平台的编译环境设置 (6)3 创建一个工程 (6)4 LED界面设计 (7)5 主要程序代码 (8)七、结果 (8)八、设计总结及设计过程中遇到的问题 (8)1遇到的问题及解决方法 (8)2 个人体会 (9)九、参考文献 (9)基于QT界面的程序设计1、设计目的1.进一步巩固嵌入式系统的基本知识;2.掌握嵌入式应用系统的基本结构;3.掌握嵌入式系统开发环境建立和使用;4.掌握嵌入式系统基本驱动、应用程序的设计调试和编译移植方法;5.学会查阅有关专业资料及设计手册;6.QT界面编程。
二、设计任务及要求1.掌握嵌入式系统开发环境建立和使用;2.掌握嵌入式系统基本驱动、应用程序的设计调试和编译移植方法;3、QT在PC上的安装、4、QT在开发板上的移植1)、触摸屏原理及tslib库的工作原理;2)、QT设计LED灯控制,设计方案自由发挥,可以单个控制LED灯、也可以流水灯的控制,可控制流水灯的频率(1-5HZ可选)5、QT界面程序设计6.编写设计说明书(方案的确定、设计环节的考虑及必要说明等)及设备的使用说明;7.绘制有关图纸.三、方案设计1 内核编译有两种方案,一种是静态编译内核,另一种是动态编译内核。
静态编译在编译的过程中比较麻烦,而且还要编译镜像文件;动态编译虽然较简单,但是每次都要编译。
我选择的是静态编译,这样只需要编译一次就可以了。
2 系统文件可以远程挂载,也可以编译成镜像文件。
编译镜像文件的话,只要里面的东西改变就要重新编译,重新导入。
QT实验报告【范本模板】

面向对象程序设计2实验报告专业:计算机科学与技术年级:2013级班级:工科1班学号:070613047姓名:黄剑波目录实验一:线程通信:门铃 (1)一、实验目的 (1)二、实验内容 (1)三、实验要求 (1)四、实验步骤 (1)五、实验源码 (2)main.cpp (2)doorbell。
h (2)doorbell.cpp (4)doorbell.qrc (7)六、实验结果与分析 (7)七、教师评价 (7)实验二:高阶多线程QtConcurrent的使用:ImageLoader (8)一、实验目的 (8)二、实验内容 (8)三、实验要求 (8)四、实验步骤 (8)五、实验源码 (9)main。
cpp (9)widget。
h (9)widget。
cpp (10)imageloader.qrc (11)六、实验结果与分析 (12)七、教师评价 (13)实验三:HTTP编程:httpTestTool (14)一、实验目的 (14)二、实验内容 (14)三、实验要求 (14)四、实验步骤 (14)五、实验源码 (15)main。
cpp (15)widget。
h (15)widget.cpp (17)六、实验结果与分析 (35)七、教师评价 (37)实验四:FTP:ftpTestTool (38)一、实验目的 (38)二、实验内容 (38)三、实验要求 (38)四、实验步骤 (38)五、实验源码 (39)main.cpp (39)widget.h (39)widget。
cpp (41)六、实验结果与分析 (48)七、教师评价 (48)实验五:TCP服务器:timeService (49)一、实验目的 (49)二、实验内容 (49)三、实验要求 (49)四、实验步骤 (49)五、实验源码 (50)main.cpp (50)timeService.h (50)timeService。
cpp (51)七、教师评价 (52)实验六:TCP:timeClient (53)一、实验目的 (53)二、实验内容 (53)三、实验要求 (53)四、实验步骤 (53)五、实验源码 (54)main.cpp (54)widget。
qt课程设计实验报告

程序设计课程设计实验报告(qt实验报告)信息科学与技术学院软件三班高文博2010050703092011年5月实验1:计算当初存入本金的钱数。
(12题)1.实验目的、要求目的:1)熟悉qt中的常用属性;2)熟悉vbox hbox模型及怎样根据需求设计控件,边框等;3)熟悉各个槽函数的使用,准确的将c++语言转换成qt语言,将控件功能与函数结合起来。
要求:1)掌握对控件的文本色,背景色等常用属性的设置。
2)掌握对控件、边框尺寸与结构的设置3)掌握对函数的设置2.实验设备笔记本电脑,已安装Qt 开发环境。
3.实验内容、步骤●先在vc++上进行编译。
●应用qt3.38进行编译,运行。
实验步骤:1)根据题目需求在草纸上画出结构图;2)根据草图用代码设计整体框架和控件;3)在qt上运行;4)运行成功后根据功能添加函数;5)在头文件中添加头文件。
6)将添加的功能函数与功能控件相连;7)分别对每个函数进行测试;8)将整个程序在qt运行调试;9)运行通过后给每个函数写注释;实验代码如下所示A (1)主框架结构代码#include"gwbsave.h"GwbSave::GwbSave(QWidget*parent,const char*name):QWidget(parent,name) {//??vBox=new QVBoxLayout(this);vBox->setMargin(5);vBox->setSpacing(5);label=new QLabel("Please input the lilv:",this,"label");vBox->addWidget(label);//??hBox=new QHBoxLayout(this);hBox->setMargin(5);hBox->setSpacing(5);vBox->addLayout(hBox);le1=new QLineEdit(this,"le1");hBox->addWidget(le1);//?,??hBox2=new QHBoxLayout(this);hBox2->setMargin(5);hBox2->setSpacing(5);vBox->addLayout(hBox2);leResult=new QLineEdit(this,"leResult");leResult->setReadOnly(true);leResult->setPaletteBackgroundColor(Qt::gray);hBox->addWidget(leResult);//аgrid=new QGridLayout(this,1,5,5,10);vBox->addLayout(grid);btnResult=new QPushButton("Result",this,"btnResult");grid->addWidget(btnResult,0,2);btnClean=new QPushButton("Clean",this,"btnClean");grid->addWidget(btnClean,0,3);btnExit=new QPushButton("Exit",this,"btnExit");grid->addWidget(btnExit,0,4);connect(btnExit,SIGNAL(clicked()),this,SLOT(close())); // connect(btnClean,SIGNAL(clicked()),this,SLOT(slotClean())); //? connect(btnResult,SIGNAL(clicked()),this,SLOT(slotExit()));//}(2)主窗体结构视图B(1)添加函数后的全部代码a头文件//#ifndef GWBSAVE_H#define GWBSAVE_H#include<qwidget.h>#include<qlayout.h>#include<qlineedit.h>#include<qpushbutton.h>#include<qlabel.h>#include<qdatetime.h>//class GwbSave:public QWidget{Q_OBJECTpublic:GwbSave(QWidget*parent=0,const char*name=0);//构造函数。
实验六 基于QT的远程控制详细设计报告

实验六基于QT的远程控制详细设计报告【实验目的】1.了解人机界面;2.掌握使用过程设计工具描述模块的详细设计数据结构和算法;3.掌握设计说明书的撰写。
【实验内容】1.确定数据库的物理结构;2.评估物理结构;3.验证用户身份功能模块;4.系统总控制模块;5.修改更新授权功能模块;6.查询用户功能模块;7.显示查询用户明细功能模块;8.查询用户明细结果的编辑功能模块;9.撰写详细设计说明书。
【实验步骤】见附件【实验总结】通过此次实验,我们了解了人机界面;掌握了使用过程设计工具描述模块的详细设计数据结构和算法;掌握了设计说明书的撰写。
附件:目录1引言 (1)1.1 背景 (1)1.2 编写目的 (1)1.3 定义 (1)1.4 参考资料 (2)1.5 运行环境 (2)2 系统模块的软件结构 (2)2.1 模块设计 (2)2.2 屏幕监控模块结构 (3)2.3 文件操作模块结构 (4)2.4 命令操作模块结构 (4)3 验证用户模块设计说明 (5)3.1 用户登录模块设计 (5)4. 接口 (7)4.1 外部接口 (7)4.2 内部接口 (8)5 运行设计 (8)5.1 运行模块的组合 (8)5.2 运行控制 (9)5.3 运行时间 (9)6 软件测试基础 (9)6.1 软件测试的目标: (9)6.2 软件测试常用方法 (10)6.3 本系统采用的测试方法 (10)6.4 连接测试 (10)6.5 文件传输测试 (10)6.6 屏幕键盘鼠标传输测试 (11)6.7 测试结论 (12)7 总结 (12)1引言1.1 背景通常企业内部或者IT公司的客户技术支持部门都有技术支持业务,其任务是通过电话解答疑难问题,努力减少技术人员到现场服务或者让用户把设备送到支持中心进行维护。
这种技术支持方式尽管被普遍采用,但效率不高而且大大增加了技术支持成本。
通常,技术支持必须依赖技术人员和用户之间的口头交流来进行,这种交流既耗时又容易出错。
基于Qt的模板缝纫机远程监控系统设计

基于Qt的模板缝纫机远程监控系统设计吴德文张团善吴德文西安工程大学机电工程学院。
张团善西安工程大学机电工程学院。
摘要针对提高模板缝纫机智能化程度,本文设计了基于Qt框架的模板缝纫机远程监控系统,实现远程监控管理模板缝纫机。
通过采用以ARMCortex-A7架构i.MX6Ul微处理器硬件平台为基础,实现多台机器进行远程控制、远程监控、远程测试等功能。
关键词模板缝纫机;远程监控;Qt中图分类号:TP273文献标识码:ADOI:10.19694/ki.issn2095-2457.2020.19.0920引言随着智能化技术的发展,模板缝纫机代替传统的高人力、高成本的缝纫机,并为现代服装缝纫工厂带来巨大的收益。
模板缝纫机的最终目的是取代缝纫车工,能够远距离集中管理控制。
通过WiFi无线网络连接,使用一台远程主机同时可以控制多台设备,实现远程传输花型文件,避免文件传递时的泄漏,极大程度地保证了客户设计的私密性。
同时实现了对设备的参数修改、机器工作反馈及远程监督等。
1系统总体设计方案针对模板缝纫机的远程监控系统采用主从(client/server)模式设计,以ARM平台为模板缝纫机上位机控制板,由ARM服务器,无线网络传输,Android手机客户端3部分组成,其中服务端和客户端均基于Qt On Android框架采用C/C++进行编程实现。
服务端即模板缝纫机的上位机控制系统,本次上位机采用了以ARM Cortex-A7架构i.MX6Ul 微处理器硬件平台搭载Linux操作系统,运用Qt软件搭建比较友好的人机交互界面系统实现对下位机各传感器及伺服电机的驱动及文件传输等功能。
2软件环境配置2.1Qt软件配置264202019/313Qt是跨平台C++图形用户界面应用程序框架,支持Windows、Linux、Mac、And roid、ios平台。
因此本次基于Android平台的监控终端系统,可方便移植到ios、Windows等平台上。
电子工程专业毕业设计论文、电子信息工程专业论文、电子工程基于智能家居的QT远程监控客户端毕业设计论文

毕业设计论文题目基于智能家居系统的Qt远程监控客服端学生姓名班级学号院(系)电子工程学院专业电子信息工程指导教师职称年月日Xx大学本科毕业设计(论文)第I 页摘要本课题使用嵌入式Linux环境下的Qt软件工具,作为智能家居图形界面显示的开发平台。
本文围绕基于智能家居的Qt远程监控客户端的设计,阐述了监控客户端的实现的相关技术以及核心机制:基于TCP/IP的Socket网络编程、信号和槽机制、Qt平台多线程通信等。
然后根据Qt的图形界面,分别介绍用户的登录界面和信息监控设置界面。
并在文章的最后对Qt客户端软件的使用给了详细的说明。
最后对设计中不足的地方提出进一步的改进或期望。
关键词:监控系统;嵌入式Linux ;Qt ;SocketABSTRACTThis topic using Qt software tools, embedded Linux environment as the development of the intelligent household graphical interface display platform.This article around the Qt based on smart home remote monitor client's design, this paper expounds the monitoring client implementation of related technology as well as the core mechanism: signals and slots mechanism, TCP/IP Socket network programming, Qt platform multi-thread communication, etc.Then according to the Qt graphical interface, respectively introduce the user login interface and information monitoring Settings interface .And at the end of the article on the use of Qt client software for detailed instructions.Finally, the insufficient place is put forward for further improvement in the design of or expectations.Keywords: Monitoring System, Embedded Linux, Qt, SQLite, Socket目录摘要 (I)ABSTRACT (II)目录 (III)第1章绪论 (1)1.1 引言 (1)1.2 智能家居发展状况 (2)1.2.1 智能家居国外发展状况 (2)1.2.1 智能家居国内发展状况 (2)1.3 Qt发展状况 (3)1.4论文主要工作和论文结构说明 (3)第2章系统总体方案 (4)2.1 系统的总体设计思路 (4)2.2 系统的工具平台选择 (4)2.2.1 Linux系统 (4)2.2.2 ARM平台 (5)2.2.3 Qt平台 (7)2.3 系统的总体设计框图 (8)2.4 Qt客户端监控界面设计框图 (9)2.5 本章小结 (9)第3章系统环境搭建 (10)3.1 目标板Linux系统环境搭建 (10)3.1.1 U-boot移植 (10)3.1.2 Linux移植 (11)3.2 Qt客户端开发环境搭建 (12)3.2.1 Ubuntu环境搭建 (12)3.2.2 Qt环境搭建 (12)3.2.3 安装中遇到的问题 (13)3.3 本章小结 (13)第4章系统的实现 (14)4.1 系统总体流程图 (14)4.2 系统的通信方式 (15)4.2.1 信号和槽通信 (15)4.2.2 基于TCP/IP的Socket多线程通信 (16)4.3 功能模块 (18)4.3.1 视频监控 (18)4.3.2 M0数据采集模块 (20)4.4 用户界面 (20)4.4.1 登录界面设计 (21)4.4.2 监控界面 (21)4.5 本章小结 (22)第5章系统的功能描述 (23)5.1 系统登录界面功能描述 (23)5.2 监控界面功能描述 (23)5.3 性能分析 (24)结论 (25)参考文献 (26)致谢 (27)附录1 (28)第1章绪论1.1 引言近年来,智能家居的成长速度越来越快,社会竞争也将越来越激烈,人们对家居智能化也愈加高要求了,对于我们每一个人,都非常的渴望智能化家居,因此智能家居的的发展成为当下势不可挡的发展趋势。
一种基于Qt的远程监控系统的设计研究

一种基于Qt的远程监控系统的设计研究摘要:在国内大多数生产型企业中,生产线设备信息化集成度并不高,每个车间的生产缺少相应的监控。
智能手机被认为是一种通用的计算机网络实用程序,具有体积小、便携和随时无线上网等主要特点。
将智能手机的使用视为网络终端,设计了移动智能监控系统,让操作人员能够选用智能手机连接WIFI,随时随地进行远程视频监控,方便产线生产人员间内充电加热设备的工作状况及运行情况实现有效实时监管,进一步提升车间生产效率。
关键词:Qt;远程监控系统;设计0 引言针对电化工厂的信息化管理和摄像监控需求,为进一步提高车间生产效率,结合大数据和人工智能设计了根据Qt的智能监控系统。
恢复系统由工厂设备视频监控系统、接入数据库、移动监控摄像网络服务器和终端组成。
下位机借助分布式网络的CAN总线将应当需要哪些设备的实时监控数据发送给上位机软件,上位机软件借助UDP计算机网络发送给以太网交换机。
监控网络端接收后,借助WIFI连接到以太网交换机,获取必须的数据。
哪些设备实时监控数据,如何处理,会在文件管理器中显示具体情况值和工作表。
另外,监控摄像机的网络终端能够接收电脑用户输入的操作指令,使智能电脑用户更容易做到远程操作指令控制和工厂设备的远程视频监控。
1 Qt开发平台Qt是在C++android和ios的用户界面和计算机系统集成框架的基础上,通过采用一个特殊的代码生成器(称为源对象动态链接库)和一些宏进行扩展。
Qt有很好的扩展功能,当Qt内置的API功能过于强大,无法满足特定的选型需求时,能够重写其特定的方法,使自定义配置变得更加容易。
Qt双核cpuQtDesign-ner是一款实用工具,方便程序员设计和制作美观、人性化的系统菜单。
Qt具备Android和iOS优良的物理特性,能够支持Windows、Linux、MacOSX、Android、iOS、WindowsPhone和嵌入式Linux。
车间设备监控系统通过Qt开发桌面程序,移动监控终端为安卓APP[1]。
远程控制实验报告

远程控制实验报告引言:远程控制是一种通过无线或有线网络将控制信号传输到远程设备的技术。
它已广泛应用于各个领域,如自动化系统、机器人技术、航空航天领域等。
本实验旨在探索远程控制技术的原理和应用,并通过实践操作,验证其可行性和效果。
一、实验背景远程控制实验是现代通信技术的重要应用之一。
随着科技的不断发展,远程控制在各个领域的应用越来越广泛。
例如,随着物联网技术的兴起,人们可以通过手机APP远程控制家居设备,如灯光、空调等。
此外,在工业自动化中,远程控制也是实现生产流程优化和降低人力成本的重要手段。
因此,了解远程控制技术的原理和方法,对我们掌握现代科技的应用具有重要意义。
二、实验目的本实验旨在通过构建一个简单的远程控制系统,探究远程控制技术的原理和应用。
具体目标包括:1. 理解远程控制的基本原理;2. 学习使用无线或有线网络进行数据传输;3. 验证远程控制系统的可行性和效果;4. 探索远程控制在实际应用中的局限性和改进空间。
三、实验步骤与方法1. 硬件构建首先,我们需要准备一台控制主机(如计算机)和一个被控设备(如灯光或电机)。
将控制主机和被控设备连接到同一个局域网中,确保网络连接正常。
如果使用无线网络,请确保无线信号稳定。
2. 软件设置在控制主机上安装远程控制软件,并进行相应的设置。
设置包括网络连接参数、设备识别码等。
根据软件的提示进行操作,并确保设置正确。
3. 远程控制打开远程控制软件,在主界面上选择要控制的设备,并进行相应的操作。
观察被控设备的状态,验证远程控制的效果。
可以尝试开关灯光、调节电机转速等操作。
4. 分析与总结根据实际操作结果,分析远程控制系统的可行性和效果。
总结实验中遇到的问题和改进的空间,并展望远程控制技术的未来发展方向。
四、实验结果与讨论通过实际操作,我们成功地搭建了一个远程控制系统,并验证了其可行性和效果。
通过远程控制软件,我们可以在主机上实时控制被控设备的状态。
例如,我们可以通过软件远程开启或关闭灯光,调节电机的转速等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验六基于QT的远程控制详细设计报告【实验目的】1.了解人机界面;2.掌握使用过程设计工具描述模块的详细设计数据结构和算法;3.掌握设计说明书的撰写。
【实验内容】1.确定数据库的物理结构;2.评估物理结构;3.验证用户身份功能模块;4.系统总控制模块;5.修改更新授权功能模块;6.查询用户功能模块;7.显示查询用户明细功能模块;8.查询用户明细结果的编辑功能模块;9.撰写详细设计说明书。
【实验步骤】见附件【实验总结】通过此次实验,我们了解了人机界面;掌握了使用过程设计工具描述模块的详细设计数据结构和算法;掌握了设计说明书的撰写。
附件:目录1引言 (1)1.1 背景 (1)1.2 编写目的 (1)1.3 定义 (1)1.4 参考资料 (2)1.5 运行环境 (2)2 系统模块的软件结构 (2)2.1 模块设计 (2)2.2 屏幕监控模块结构 (3)2.3 文件操作模块结构 (4)2.4 命令操作模块结构 (4)3 验证用户模块设计说明 (5)3.1 用户登录模块设计 (5)4. 接口 (7)4.1 外部接口 (7)4.2 内部接口 (8)5 运行设计 (8)5.1 运行模块的组合 (8)5.2 运行控制 (9)5.3 运行时间 (9)6 软件测试基础 (9)6.1 软件测试的目标: (9)6.2 软件测试常用方法 (10)6.3 本系统采用的测试方法 (10)6.4 连接测试 (10)6.5 文件传输测试 (10)6.6 屏幕键盘鼠标传输测试 (11)6.7 测试结论 (12)7 总结 (12)1引言1.1 背景通常企业内部或者IT公司的客户技术支持部门都有技术支持业务,其任务是通过电话解答疑难问题,努力减少技术人员到现场服务或者让用户把设备送到支持中心进行维护。
这种技术支持方式尽管被普遍采用,但效率不高而且大大增加了技术支持成本。
通常,技术支持必须依赖技术人员和用户之间的口头交流来进行,这种交流既耗时又容易出错。
许多商业用户对计算机知之甚少,然而当遇到问题时,他们必须向技术人员提供故障情报及相关操作。
在尝试解决问题时,技术人员可能指导用户执行一系列复杂的过程,而这些过程对用户来说或许完全不熟悉;如果用户不能正确的按要求操作,反而使问题恶化。
此外,如果通过电话不能解决问题,那么在技术人员亲自到用户现场解决问题之前,计算机将无法继续使用,导致工作延误。
1.2 编写目的本文正是在上文提到的背景下提出的,目的就是为了解决计算机的远程操作,降低企业对软件的后期维护成本,设计出一款远程控制系统。
远程控制系统能使技术人员直接操作远程计算机,就像操作本地机器一样,无须用户介入,技术人员技能得到该机器的问题的第一手材料,从而加快了问题的解决。
实际上,使用远程控制工具的技术人员能够做到解答疑难问题,安装和配置软件,把软件下载到用户计算机上,配置应用程序和系统软件设置并可通过实际操作培训用户。
总之,本课题的设计与实现具有很大的现实意义。
1.3 定义软件结构图:软件结构包括构成系统的设计元素的描述、设计元素之间的交互、设计元素的组合模式以及在这些模式中的约束。
一个系统由一组构件以及它们之间的交互关系组成,这种系统本身又可以成为一个更大的系统的组成元素。
软件结构图也就是为了反映软件系统中组件之间相互关系和约束的体系结构设计图,称为软件体系结构图更为合适,一般通过分层次或分时间段等方式说明体系结构的各个组成部分的组合关系。
在结构化设计方法中,软件结构图主要分为变换型软件结构图和事务型软件结构图两种。
Qt:Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。
它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。
Qt是面向对象语言,易于扩展,并且允许组件编程。
2008年,奇趣科技被诺基亚公司收购,QT也因此成为诺基亚旗下的编程语言工具。
1.4 参考资料[1] Jeffrey Richter.Windows核心编程.北京:机械工业出版社,2008.150-313[2]黄超.Windows网络编程.北京:人民邮电出版社,2002.254-281[3]网冠科技.Visual C++6.0时尚编程百例.北京:机械工业出版社,2004.198-210[4]李久进.MFC深入浅出.武汉:华中理工大学出版社,1999.302-365[5]郑阿奇.Visual C++ 实用教程.北京:电子工业出版社,2007.177-2151.5 运行环境(1)硬件环境最低配置:奔腾4处理器,512M内存,60G硬盘。
建议配置:奔腾双核T4400 2.2GHZ及其以上 2G内存、320G硬盘(2)软件环境A.windows 98 以上的操作系统B.Myeclipse 和 pl/sqlC.Microsoft office 20002 系统模块的软件结构2.1 模块设计本系统面向的对象有两种,一种是服务端,一种是客户端。
服务端只要是向客户端发送操作命令,客户端解析命令后执行相应操作,然后将结果返回给服务端,服务端再将结果显示出来。
屏幕监控,也就是将客户端的屏幕截图,然后发送给服务端。
由于截图图片格式为BMP,一帧图像数据量很大,因此在此模块中引用第三方开源类库CxImage,和压缩库zlib,将截图在内存中压缩成JPEG格式,然后再调用zlib 的压缩函数进一步对JPEG压缩,最后再发送给服务端。
鼠标和键盘的操作则是通过模拟来实现,在服务端捕获鼠标键盘操作后,服务端的命令连接就会将捕获的结果发送到客户端,客户端再通过调用mouse_event和keybd_event这两个API 函数进行模拟鼠标键盘操作。
该模块大致流程图如图2.1所示:图2.1屏幕监控大致流程图文件操作,包括文件上传、文件下载、删除文件、修改文件名、执行远程程序。
在文件传输过程中,服务端能显示传输进度,也可以终止传输。
该模块大致流程图如图2.2所示:图2.2文件操作大致流程图2.4 命令操作模块结构命令操作,包括系统注册表、服务、进程、消息广播、执行CMD、重启或关闭远程计算机等操作,命令操作传输的数据量小,响应快。
为了客户端程序能正常对进程、服务等操作,还必须对客户端进程进行提升权限操作。
该模块的功能模块图如图2.3所示:图2.3命令操作功能模块图3 验证用户模块设计说明3.1 用户登录模块设计系统用户登录主要用来验证用户的登录信息,完成用户的登录功能。
该模块的运行结果如图3.1所示。
3.1用户登录界面3.1.1 界面设计(1)在view 包下建立文件JF_login.java ,打开UI 设计器设置this 的layout 属性为BorderLayout 类型,其name 属性采用默认值borderlayout1,在borderlayout1上放置两个面板组件Jpanel1,其name 属性采用系统默认值jPanel1、jPanel2,其中jPanel1的constraints 属性为Center ,jPanel2的属性constraints 为north 。
(2)设置jPanel1的Layout 属性为GridLayout 类型,其默认值为gridlayout1,其中row 为2,columns 为2,在gridlayout 上放置2个JLabel 标签组件、2个JTextField 文本组件。
其中标签组件的text 类型设置为上图的文本名字,然后调整好组件位置。
(3)设置jPanel2的Layout 属性为FlowlayOut 类型,在jPanel2上放置两个远程协助系统远程注册表管远程服务管理 远程CMD 操作 远程进程管理 远程关机重启管JButton组件,用来响应用户的单击操作,其name属性为jBlogin和jBexit,其text属性分别为上图按钮中的文本。
用户登录模块UI设计器中的组件结构图,如图3.2所示。
3.2组件结构图3.1.2代码设计(1)输入用户ID后,按<Enter>键,系统校验该用户是否存在。
在公共方法jTuser_keyPressed()中,定义一个String类型变量sqlSelect用来生成SQL查询语句,再定义一个公共类RetrieveObject类型变量retrieve,然后调用retrieve的getObjectRow()方法,其参数为sqlSelect,用来判断该用户是否存在。
该方法的详细代码如下:public void jTextField1_keyPressed(KeyEvent keyEvent) {if(keyEvent.getKeyCode() == KeyEvent.VK_ENTER){String sqlSelect = null;java.util.Vector vdata = null;sqlSelect = "select username from tb_user where userid= '" + jTextField1.getText().trim() + "'";appstu.util.RetrieveObject retrieve = new appstu.util.RetrieveObject();vdata = retrieve.getObjectRow(sqlSelect);if (vdata.size() > 0){jLabel3.setText("当前用户姓名: " + String.valueOf(vdata.get(0)));jPasswordField1.requestFocus();}else{javax.swing.JOptionPane.showMessageDialog(null,"输入的用户ID不存在,请重新输入","系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);jTextField1.requestFocus();} }}(2)如果用户存在,再输入对应的口令,输入的口令正确时,单击“登录”按钮,进入系统。
公共方法jTuser_keyPressed()的设计与jTextField1_keyPressed 的设计方法相似,其关键代码如下:public void jBlogin_actionPerformed(ActionEvent e) {// 此处省略了部分代码String sqlSelect = null;sqlSelect = "select count(*) from tb_user where userid= '" + jTextField1.getText().trim()+ "' and pass = '" + pass + "'";java.util.Vector vdata = null;appstu.util.RetrieveObject retrieve = new appstu.util.RetrieveObject();vdata = retrieve.getObjectRow(sqlSelect);if (Integer.parseInt(String.valueOf(vdata.get(0))) > 0){AppMain frame = new AppMain();this.setVisible(false);}else{javax.swing.JOptionPane.showMessageDialog(null,"输入的口令不正确,请重新输入", "系统提示",javax.swing.JOptionPane.ERROR_MESSAGE);jPasswordField1.requestFocus();return;}}4. 接口4.1 外部接口4.1.1 用户界面在用户界面部分,根据需求分析的结果,用户需要一个用户友善界面。