实用程序Commer的开发——U盘内容可选同步至FTP服务器
2014-10-11 19:37
92 查看
需求分析:需要在软件运行后将插入的U盘里面的文件Copy至本机上,然后可选的上传一部分至FTP服务器上。
系统设计:基于MFC的基本对话框程序:主要模块有检测U盘插入并复制文件以及上传到网络。通过对U盘插入事件的检测从而确定copy的路径,当文件复制成功或者U盘拔出无法完成复制后,将现有的文件上传。
具体实现:在Dlg类中添加了WindowProc事件的处理,在这里判断message == WM_DEVICECHANGE,并判断当DBT_DEVICEARRIVAL时启动copy线程。当复制完成时停止copy线程,开启上传任务并通知用户完成事件。在早期由于没有考虑到拔出U盘会触发的StopCopyThread结束进程从而也就将网络上传功能一并结束,而引发的无法上传的Bug。
经验收获:在MFC中直接使用CString类而不要使用其他字符串的函数和库,在开发的过程中鄙人吃尽了苦头。当你使用MFC的CFtpConnection类时,要注意,你所通信的Ftp服务器一定要是微软的操作系统,否则会返回未知的错误,因为微软的函数与其他厂商的服务器软件的约定和协议可能有少许出入,造成指令的不识别从而产生错误。
源码下载:http://pan.baidu.com/s/1bnguNJh 并不成熟,程序的可拓展性不好,不过基本的框架也已经出来了。下一步要做的就是可以通过外部文件的简单设置,程序读取配置文件后对FTP服务器的登录、文件的选择复制和上传做出控制。
系统设计:基于MFC的基本对话框程序:主要模块有检测U盘插入并复制文件以及上传到网络。通过对U盘插入事件的检测从而确定copy的路径,当文件复制成功或者U盘拔出无法完成复制后,将现有的文件上传。
具体实现:在Dlg类中添加了WindowProc事件的处理,在这里判断message == WM_DEVICECHANGE,并判断当DBT_DEVICEARRIVAL时启动copy线程。当复制完成时停止copy线程,开启上传任务并通知用户完成事件。在早期由于没有考虑到拔出U盘会触发的StopCopyThread结束进程从而也就将网络上传功能一并结束,而引发的无法上传的Bug。
经验收获:在MFC中直接使用CString类而不要使用其他字符串的函数和库,在开发的过程中鄙人吃尽了苦头。当你使用MFC的CFtpConnection类时,要注意,你所通信的Ftp服务器一定要是微软的操作系统,否则会返回未知的错误,因为微软的函数与其他厂商的服务器软件的约定和协议可能有少许出入,造成指令的不识别从而产生错误。
源码下载:http://pan.baidu.com/s/1bnguNJh 并不成熟,程序的可拓展性不好,不过基本的框架也已经出来了。下一步要做的就是可以通过外部文件的简单设置,程序读取配置文件后对FTP服务器的登录、文件的选择复制和上传做出控制。
相关文章推荐
- ftp服务器系统编程编码程序下载代写代开发
- ftp服务器系统编程编码程序下载代写代开发
- 在CentOS7阿里云服务器部署ThinkPHP5,并配置phpstrom实现同步开发(微信小程序及管理员后端)
- 使用git和expect在本地开发环境与服务器生产环境之间同步程序文件
- ftp服务器系统编程编码程序下载代写代开发
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:三、上传图片到服务器
- ftp服务器系统编程编码程序下载代写代开发
- ftp服务器系统编程编码程序下载代写代开发
- ftp服务器系统编程编码程序下载代写代开发
- asp.net程序开发中固定服务器PORT的方法!
- 从ftp服务器上下载文件树到本地电脑的php程序
- 开发可以自动运行程序的U盘
- 使用.net开发程序的多服务器负载均衡问题
- 程序天下:C#实用开发参考大全教程及光盘
- 为嵌入式Linux开发开启ftp服务器
- 将.Net程序开发服务器的端口固定下来的方法
- 社区里某位同志写的一个FTP内容抓取程序
- 用Java实现FTP服务器-Java基础-Java-编程开发
- VC程序下载FTP服务器上的文件
- 镜像服务器文件实时监控同步程序