QQ登录器的分层实现之一(系统设计)
2008-04-29 00:06
232 查看
前些天跟一位盲人朋友聊天,谈到现在的网络应用上,朋友对现在的网络发展很是赞叹,虽然自己看不见,但无形的网络还是给看不见的自己带来了光明,上网“浏览”网页,收听广播,电视节目,聊QQ。但是又工具的不完善还是有多多少少的助碍了上网的灵活性,就比如说,上网聊QQ,市面上的QQ登录器都没有快捷键功能,每次登录QQ还得跟据读屏软件的指导来操作,很不方便!为此,我也搜了一下相关资料,为其定制了一款带有快捷键功能的QQ登录器。
要实现该软件的基本功能,首先要了解如何启动QQ,并把帐号和密码附加上去。通过QQ同TM之间的切换运行,我们知道,在进程启动中附加了如下的参数:"/START QQUIN:"+QQ帐号+" PWDHASH:"+QQ密码+" /STAT:"+登录状态,这里的密码是通过加密后的密码,如果不加密的话QQ程序会报告密码错误的,登录状态为“是否隐身登录”,“40”表示隐身登录,“41”表示不隐身。
知道QQ登录的秘密后才发现,原来要实现它也不难,下面我们就来构建该软件了。功能分为:启动QQ,登录QQ,添加帐号,修改帐号,删除帐号,快捷键设置。要管理到QQ帐号和密码,就涉及到文件存储,存储信息的方式有多种,有数据库,文本文档,XML等方式。这里我们采用XML文件格式,原因是这种文件存储格式通用,易读(相对于文本格式来说),又比数据库形式要灵活。通过以上分析可见,该软件的主要编码工作就变成了存储文件的读写了。下面我们会讲到如何进行XML文件的操作。
系统结构分为:文件操作层(Config.cs),业务实体层(Account.cs),表示层(loginForm.cs)我们在空白解决方案中加入以下工程:
![](http://images.cnblogs.com/cnblogs_com/lixg84/001.jpg)
第一篇暂写到这里,下一篇我们开始讨论用于存QQ帐号的XML文件的读写。
要实现该软件的基本功能,首先要了解如何启动QQ,并把帐号和密码附加上去。通过QQ同TM之间的切换运行,我们知道,在进程启动中附加了如下的参数:"/START QQUIN:"+QQ帐号+" PWDHASH:"+QQ密码+" /STAT:"+登录状态,这里的密码是通过加密后的密码,如果不加密的话QQ程序会报告密码错误的,登录状态为“是否隐身登录”,“40”表示隐身登录,“41”表示不隐身。
知道QQ登录的秘密后才发现,原来要实现它也不难,下面我们就来构建该软件了。功能分为:启动QQ,登录QQ,添加帐号,修改帐号,删除帐号,快捷键设置。要管理到QQ帐号和密码,就涉及到文件存储,存储信息的方式有多种,有数据库,文本文档,XML等方式。这里我们采用XML文件格式,原因是这种文件存储格式通用,易读(相对于文本格式来说),又比数据库形式要灵活。通过以上分析可见,该软件的主要编码工作就变成了存储文件的读写了。下面我们会讲到如何进行XML文件的操作。
系统结构分为:文件操作层(Config.cs),业务实体层(Account.cs),表示层(loginForm.cs)我们在空白解决方案中加入以下工程:
![](http://images.cnblogs.com/cnblogs_com/lixg84/001.jpg)
第一篇暂写到这里,下一篇我们开始讨论用于存QQ帐号的XML文件的读写。
相关文章推荐
- 一种松耦合的分层插件系统的设计和实现
- 一种松耦合的分层插件系统的设计和实现
- 一种松耦合的分层插件系统的设计和实现
- 实现业务系统中的用户权限管理--设计篇
- 实现业务系统中的用户权限管理--设计篇
- 基于Android的视频监控系统设计与实现
- 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现
- 一种日志结构文件系统的设计与实现(二)
- 字幕解码系统设计与实现
- 基于RFID的简易图书管理系统设计与实现
- Linux备份还原双系统设计与实现(二)
- 简洁常用权限系统的设计与实现(三):维护和利用节点的深度level,迭代实现树的构造
- 简洁常用权限系统的设计与实现(四):不维护level,用递归方式构造树
- 转:ATMC统一平台系统的设计和实现
- 简洁常用权限系统的设计与实现(七):一种错误的不可行的构造树的方法
- 设计与实现模块管理系统基本功能定义自己(18--设计模块附件[1])
- PHP+MySQL投票系统的设计和实现分享
- 基于RBAC模型的权限管理系统的设计和实现
- 实现业务系统中的用户权限管理--设计篇
- 实现业务系统中的用户权限管理--设计篇