摘要: CDHtmlDialog提供了C++与网页的双向交互,通此一系统简单的宏调用可以把网页中各元素的事件直接映射到C++程序中,而在网页中调用C++功能代码就显的不那么直观了。归根结底交互的基理就是实现相应COM接口。实现方式如下:1、在窗体初始化时调用EnableAutomation函数。  通常情况下是放在窗体的构造函数中,[代码]当然也可以放在OnInitDialog中,不过要注意顺序,其调用不... 阅读全文
posted @ 2010-11-08 14:25 thinkingfor 阅读(9114) 评论(0) 推荐(2) 编辑
摘要: 先从最简单的想法说起,把构造函数定义为Private那么此对象将没有办法创建当然也就没有办法被继承了,但这样的类定有什么意义呢?我们让它变的有意义一些。为它提供一个方法去创建对象这时候对象可以创建了。但有两个问题出现了,首先没有办法直接定义对象只能使用对象指针。其次的不直观且语义上定义模糊需要对调用者强调说明才能保证对象的正常释放。有个笑话说当一个对象简单到只有一个成员的时候那么可以使用union... 阅读全文
posted @ 2010-09-14 14:55 thinkingfor 阅读(11714) 评论(0) 推荐(0) 编辑
摘要: 在C程序中如果在声明函数的时候如果没有任何参数那么需要将参数定义为void以此来限定此函数不可传递任何参数,如果不进行限定让参数表默认为空其意义是可以传递任何参数,这个问题的由来实际上是由于要兼容早期的K&C标准造成的。K&C 在声明函数时参数表为空,也就是说函数声明时的函数原型签名信息不包含参数信息,如果要有明确的定义空参数的行为那么就要自己去处理它。以下是C代码//空参数表代表可以传递任意的参数,void fun();fun(1);//正常编译fun(1,2,3);//正常编译//参数表定义为void才是表示不能传递任何参数void noargfun(void);noarg 阅读全文
posted @ 2010-09-14 13:33 thinkingfor 阅读(9713) 评论(0) 推荐(3) 编辑
摘要: 使用Python进行文件Hash计算有两点必须要注意:1、文件打开方式一定要是二进制方式,既打开文件时使用b模式,否则Hash计算是基于文本的那将得到错误的文件Hash(网上看到有人说遇到Python的Hash计算错误在大多是由于这个原因造成的)。2、对于MD5如果需要16位(bytes)的值那么调用对象的digest()而hexdigest()默认是32位(bytes),同理Sha1的diges... 阅读全文
posted @ 2010-09-13 10:04 thinkingfor 阅读(27193) 评论(2) 推荐(0) 编辑