最近打算本身作几个软件,便于提高工做效率,而且能够恢复下码代码的能力。第一个软件就是基于SFTP的一个文件拷贝软件。目前能够拷贝选定远程服务器上的文件/文件夹内全部内容到本地目录。界面大体以下:linux
右边空白较大,由于还有些其余功能还没有完善。服务器
软件主要有如下几个功能:加密
1. 用户选择想要链接的linux服务器名称(IP地址和密码软件内置,由于不想让用户看到)线程
2.链接到服务器后可显示根目录(内置)下全部文件及文件夹,忽略链接。excel
3.用户在左侧选中文件/文件夹后,在右侧配置本地目录,点击StartCopy便可拷贝到本地。orm
4. 右侧目标目录在关闭软件时会保存到软件的Setting中。xml
使用的技术:blog
1. Winform界面开发。为了尽快使用,没有使用WPF等开发技术,仅使用了VS2017里面标配的Winform的tool。ci
2. 跨线程更新Winform。这个问题几年前就遇到过了,主要是在Thread里面要更新Winform的显示,在子线程中使用BeginInvoke方法及delegate。后续补充几个博文连接,仍是挺有用的。开发
3.ListView的使用。增长Column,Item,SubItem等。
4. SFTP组件的使用。由于C#貌似没有原生的sftp组件(也多是我没找到),因此尝试了几个第三方组件,Tamir.SharpSSH.dll和Renci.SshNet.dll在创建connection的时候都有被主机拒绝的异常,估计是host key询问没处理明白。后来用了ComponentPro的组件,比较好用,不过是收费的,试用30天,30天后再看看怎么处理吧。
5. 目录前进与后退的简单逻辑。主要是根据path中的"/"截取目录位置。
程序比较简单,大概用了一周的时间,天天下班后8-10点左右吧。既然作了东西,仍是记录下。涉及的相关内容后续慢慢补充吧。
另外还想作个登陆界面,管理下用户登陆。可是又没有服务器存储用户注册信息,想弄个配置文件,将用户名和密码写进去。可能会用xml格式,密码应该会加密后写进去,加密方式还没定, 可能会用RSA吧,公钥加密后,私钥放在软件程序代码里,解密用。
下一个软件想破解某excel查询功能,主要使用vba写的宏代码,目前代码已经到手,先看看vba语法,而后可能用C#或Java重写程序,应该也是Winform的软件,便于查询。