软件开发要求

使用OS API 编写一个程序。要求满足下列条件

1、能够判断U盘是否存在

2、能够显示U盘的剩余容量

3、能够将某个目录或某个文件复制到U盘中

4、可以删除U盘上的文件

5、可以禁止和开启U盘的使用

6、体会OS API的作用

软件实现情况介绍

软件图片

U盘管理程序【c#】_c#U盘

图一(软件主界面)

U盘管理程序【c#】_javascript_02

 图二(软件功能图) U盘管理程序【c#】_自定义_03

图三(没有可用的U盘)

用法说明书

用法一:查看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? 

窗体的最大化、最小化、叉 ?   ​

文件夹的copy? ​

打开指定文件夹?  

C#选择文件、选择文件夹、打开文件(或者文件夹)​ ?  ​

给你个小工具:c# 系统Color颜色对照表   ​

其他

特别声明,软件设计有参考 《U盘数据恢复》这个软件的嫌疑,但是,目的非盈利,纯粹是学习。http://www.wnhuifu.com/这是他软件的官网。

图标等资源来自阿里巴巴矢量图标库http://www.iconfont.cn/,但我觉得阿里应该不会在意我这个小开发者。

我的源码 

https://gitee.com/zhangruiyuan/upan-helper2.git