目录
软件开发要求
软件实现情况介绍
软件图片
用法说明书
软件特色(功能特色)
遗憾(没有时间实现的想法)
软件实现及部分源码
软件构思
源码
其他
软件开发要求
使用OS API 编写一个程序。要求满足下列条件
1、能够判断U盘是否存在
2、能够显示U盘的剩余容量
3、能够将某个目录或某个文件复制到U盘中
4、可以删除U盘上的文件
5、可以禁止和开启U盘的使用
6、体会OS API的作用
软件实现情况介绍
软件图片
用法说明书
用法一:查看U盘状态(实现要求点1、2)
打开软件,当前可用的U盘(或其他存储设备)会被自动显示在界面中。显示的信息包括存储设备的名称、已用空间信息和总空间信息。在此界面中还可以选择在系统资源管理器中显示U盘。
用法二:管理U盘(实现要求点3、4)
插入U盘,打开软件(无所谓顺序),选择要操作的U盘,进而打开操作界面。在操作界面中根据不同的需要,选择相应的文件或者文件夹,点击操作即可进行相应的操作。在操作界面中选择上一步或者完成都可以回退到主界面。
用发三:禁止/启动U盘
打开软件,在操作面板的左上角有相应的开启/关闭功能键(需要注意应当允许软件修改注册表信息)。
软件特色(功能特色)
特色一:界面优化以及良好的用户体验
1、软件主界面的头部是自定义的,支持的功能有最大化、最小化、退出,支持双击头部实现最大(小)化的切换。
2、高亮用户经过的控件。当用户经过最大(小)化、叉号、刷新按键、某一U盘列表项时,对此控件进行高亮,给用户良好的体验。
3、实时刷新功能。通过windows 系统的API 来监听存储设备的插入和卸载,实时获得最新的存储设备信息并显示在列表中。
特色二:软件可维护性高
1、软件的设计采用面向对象的设计方法。创建UpanManager类,封装了相应的方法 refresh() show() showTool() contain()等。日后如果需要其他功能可以直接添加。
特色三:支持多存储设备
1、多个存储设备可以在软件中列表显示。
遗憾(没有时间实现的想法)
1、提示框的自定义。
现有的MessageBox提示出来后还需要用户的手动点击,严重影响用户体验。自定义的MessageBox可以实现提示和自动销毁兼顾。
2、实现文件的移动和删除
现有的功能是实现文件和文件夹的复制操作,而不是移动操作,还有很多功能需要实现。
3、界面设计
功能栏的界面并不是很好看,所以,强迫症患者你懂的(我已经在死死的压抑自己的强迫症了)
软件实现及部分源码
软件构思
首先,先根据软件的要求大致设计一下自己的软件界面。我大致就是这样设计的(如图一所示)。然后依次实验自己要实现的功能可不可行? 比如自定义头部是否可行、如何获取屏幕尺寸、如何调用OS API检测U盘是否插入、如何检测一个盘符是否是U盘、如何在panel中内嵌一个form窗体等等小功能。然后花几个小时去实现就行。
源码
如何调用OS api? C#实现检测U盘的插拔_Hamber_Bao的博客-CSDN博客
窗体的最大化、最小化、叉 ? 【C#学习笔记】窗口隐藏、最小化、最大化、正常化 - Dsp Tian - 博客园
文件夹的copy? C# 拷贝指定文件夹下的所有文件及其文件夹到指定目录 - zhyue93 - 博客园
打开指定文件夹? C# 打开文件或打开文件夹 - 一杯水M - 博客园
C#选择文件、选择文件夹、打开文件(或者文件夹) ? C#选择文件、选择文件夹、打开文件(或者文件夹) - ZHLBKY - 博客园
给你个小工具:c# 系统Color颜色对照表 【C#】Color颜色对照表 - Endv - 博客园
其他
特别声明,软件设计有参考 《U盘数据恢复》这个软件的嫌疑,但是,目的非盈利,纯粹是学习。失易得官网-苹果手机数据恢复软件_硬盘U盘/误删文件/回收站清空恢复这是他软件的官网。
图标等资源来自阿里巴巴矢量图标库iconfont-阿里巴巴矢量图标库,但我觉得阿里应该不会在意我这个小开发者。
我的源码
张瑞元/UpanHelper2
欢迎大家来下载源代码,为我添加小星星,相互交流学习 。
注意:我是vs2017,如果打不开请用最新版vs,如果有什么问题,直接联系qq 2904726119即可,不着急的话发邮箱 zhangruiyuan@zju.edu.cn就行。
For you:
我盲猜一波,给我点赞、收藏的同学其实很多是YSUer,很高兴以这样的方式与你见面。这篇文章的内容在我当时来自LXS老师的一个课程作业,不知道现在是谁在给你上课了。
如果真的是L老师,替我问声好,L老师是我在🐦大见到的最好的老师,十分感谢。
好好学习,祝好!
2016级老学长