U盘管理程序【c#】

news/2024/10/24 0:29:07/

目录

软件开发要求

软件实现情况介绍

软件图片

用法说明书

软件特色(功能特色)

遗憾(没有时间实现的想法)

软件实现及部分源码

软件构思

源码

其他


软件开发要求

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

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

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

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

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

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

6、体会OS API的作用

软件实现情况介绍

软件图片

图一(软件主界面)

图二(软件功能图)
图三(没有可用的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?   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级老学长



http://www.ppmy.cn/news/747670.html

相关文章

U盘读写删除等操作需要管理员权限的解决方法-WIN10

U盘读写删除等操作需要管理员权限的解决方法-WIN10 问题: 不知道啥时候开始,从U盘内进行读写删除等操作到时候开始需要管理员权限,会弹出一个如下的窗口,我们需要点击继续才能执行操作,那么如何解决呢? 解…

js-连续数组

给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度。 示例 1: 输入: nums [0,1] 输出: 2 说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。 直接遍历 会超时,查看了大佬的代码,用0替换…

Zabbix之部署

Zabbix 6.0 一.Zabbix介绍 1.zabbix 的含义 zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各…

Excel乱码解决方案

1 更改Excel字符集:打开Excel,选择“文件”->“选项”->“高级”->“将Unicode字符格式保存为”。然后将选项更改为“Unicode UTF-8”或“Unicode UTF-16”,保存并重新打开Excel,看看问题是否得到解决。 2 更改Windows字…

maatwebsite/excel 3.0版本使用方法

使用方法: https://www.cnblogs.com/niuben/p/11458450.html 设置列宽等其他功能使用方法: https://learnku.com/laravel/t/24161

java导出excel无法打开

如果你在使用 Java 导出 Excel 文件但是打开后出现了无法打开的问题,可能是出现了以下几种情况: 文件损坏:Excel 文件在生成和传输过程中可能已损坏,导致无法打开。 版本问题:生成的 Excel 文件的版本可能与你使用的 M…

Excel 版本对应

(1) 1985年:Excel 1.0    (2) 1993年:Excel 5.0——Office 4.2    (3) 1995年:Excel 7.0(Excel 95)——Office 95    (4) 1997年:Excel 8.0(Excel 97)——Office 97    (5) 1999年:Excel 9.0(Excel 2000)——O…

使用EXCEL连接PGSQL

日常固化日报,如果可以直接连上数据库并在其中建立好视图,可以实现日报每日手动刷新的功能,这次使用的EXCEL 2016专业加强版连接的PGSQL,但是问题不断,写此文曲折的解决问题之路。 需要下载的插件:Npgsql …