摘要: 根据上篇介绍的IAccessible,开始写几个例子试下效果如何,先看第一个: [代码][代码] 阅读全文
posted @ 2010-04-20 18:38 Gang.Wang 阅读(2744) 评论(0) 推荐(0) 编辑
摘要: MSAA的全称是Microsoft Active Accessibility。这是类似DCOM技术。技术模型是这样的,UI程序可以暴露出一个Interface,方便另一个程序对其进行控制。 MSAA技术的初衷是为了方便残疾人使用Windows 程序。比如盲人看不到窗口,但是盲人可以通过一个USB读屏器连接到电脑上, 读屏器通过UI程序暴露出来的这个Interface,就可以获取程序信息,通过盲文或... 阅读全文
posted @ 2010-04-20 11:05 Gang.Wang 阅读(8712) 评论(6) 推荐(0) 编辑
摘要: 除了Spy++介绍一个新的东西AccExplorer,这个东西对查看窗体对象的时候,确实比Spy++要强大N倍,做界面自动化测试非常有用。下载地址:http://files.cnblogs.com/GnagWang/AccExplorer32.rar 阅读全文
posted @ 2010-04-20 10:47 Gang.Wang 阅读(1904) 评论(0) 推荐(0) 编辑
摘要: 状态模式主要解决当控制一个对象状态的转换的条件表达过于复杂的情况,使得状态的转换不依赖于整体的操作。本文将通过一个具体的例子说明状态模式的应用。假设下面一个场景:      一个新任务提交后,先是收集数据,数据收集完成后等等分配一台机器,分配到机器后就可以将此任务部署至此机器后就可以通知相关模块开始工作。 先对此场景做分析如下:   ... 阅读全文
posted @ 2010-04-05 00:39 Gang.Wang 阅读(851) 评论(0) 推荐(1) 编辑
摘要: 有一个叫做EventHandler 的家伙,他会告诉你(主程序),有一些事情发生了:这个事情是谁导致的呢?是某个object类型对象导致的,它用Source或Sender来表示。这个事情是什么事呢?e的内容就是事情的内容了。 至于Source和Sender,没有区别,你想用哪个就用哪个,其实都是一样的。 所以,我们在程序中的事件处理函数就是依赖于这个东西实现的:比方说你点了一个按钮,程序怎么知道应... 阅读全文
posted @ 2010-04-04 23:13 Gang.Wang 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 关于#和##在C语言的宏中,#的功能是将其后面的宏参数进行字符串化操作(Stringfication),简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏: 那么实际使用中会出现下面所示的替换过程: 这样每次divider(除数)为0的时候便会在标准错误流上输出一个提示信息。而##被称为连接符(concatenator),用来将两个Token连接为一个Token。... 阅读全文
posted @ 2010-04-04 23:10 Gang.Wang 阅读(449) 评论(0) 推荐(0) 编辑
摘要: 看到这个工具后,就想到自己平时的代码可以用一下这个东西,就下载后试了一下,是用来代码规范的工具, 命令行运行有: 阅读全文
posted @ 2010-04-04 23:09 Gang.Wang 阅读(493) 评论(0) 推荐(0) 编辑
摘要: 1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5:  6: namespace ConsoleApplication1 7: { 8: class Program 9: { 10:  11: class CAdd 12: { 13... 阅读全文
posted @ 2010-04-04 23:04 Gang.Wang 阅读(206) 评论(0) 推荐(1) 编辑
摘要: 无意年到这篇文章贴出来,自己以后也可以常看,原文:http://www.programmer.com.cn/1119/#more-1119 1 版本控制 版本控制是一种在开发的过程中对软件开发的历史系统地跟踪的方法。此项任务由版本控制系统完成,如CVS或Subversion。版本系统保持了一个受控编码的历史痕迹,提供很多操作:获得当前版本代码(通常称为“检出”);“提交”修改;“更新”工作拷贝... 阅读全文
posted @ 2010-04-04 01:54 Gang.Wang 阅读(293) 评论(0) 推荐(0) 编辑
摘要: 重新组织你的函数 在对象之间搬移特性 重新组织数据 简化条件表达式 简化函数调用 处理概括关系 提炼函数1 转化后: 提炼函数2:清除注释 转化后: 将临时变量内联化: 转化后: 以查询取代临时变量: 转化后: 引入解释性变量: 转化后: 剖解临时变量: 转化后: 移除对参数的赋值: 转化后: 提前退出函数: 转化后: Split Loop: 转化后: Split Loop-2 在对象之间搬移特... 阅读全文
posted @ 2010-04-02 18:01 Gang.Wang 阅读(333) 评论(0) 推荐(0) 编辑