
开发日志
sherlockhua
这个作者很懒,什么都没留下…
展开
-
从今天开始写开发日志了
从今天开始写开发日志了,从今天开始写开发日志了,从小做起,善于总结,记录开发中的点点滴滴。努力工作,快乐生活。做一个快乐的程序员。:)原创 2009-12-02 19:28:00 · 929 阅读 · 0 评论 -
secureZeroMemory和ZeroMerory的区别
secureZeroMemory和ZeroMerory的区别 根据MSDN上,ZeryMerory在当缓冲区的字符串超出生命周期的时候,会被编译器优化,从而缓冲区的内容会被恶意软件捕捉到。引起软件安全问题,特别是对于密码这些比较敏感的信息而说。而SecureZeroMemory则不会引发此问题,保证缓冲区的内容会被正确的清零。如果涉及到比较敏感的内容,尽量使用SecureZero原创 2009-12-23 11:57:00 · 7770 阅读 · 0 评论 -
timeGetTime Function
timeGetTime Function The timeGetTime function retrieves the system time, in milliseconds. The system time is the time elapsed since Windows was started.Syntax转载 2010-03-02 11:47:00 · 963 阅读 · 0 评论 -
RAII惯用法:C++资源管理的利器
RAII惯用法:C++资源管理的利器RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的转载 2010-03-01 15:48:00 · 762 阅读 · 0 评论 -
c文件操作,兼容多字节和unicode
在头文件里,有这么一组操作文件的宏 #define _tfdopen _wfdopen #define _tfsopen _wfsopen #define _tfopen _wfopen #define _tfopen_s _wfopen_s #define _tfreopen原创 2009-12-23 11:07:00 · 1218 阅读 · 0 评论 -
__declspec(novtable) 的用法
__declspec(novtable) 的用法 __declspec(novtable) 在C++中接口中广泛应用. 不容易看到它是因为在很多地方它都被定义成为了宏. 比如说ATL活动模板库中的ATL_NO_VTABLE, 其实就是__declspec(novtable). __declspec(novtable) 就是让类不要有虚函数表以及对虚函数表的初始化代码,转载 2009-12-22 10:20:00 · 763 阅读 · 0 评论 -
keePass---基于插件的密码管理器
最近在研究KeePass的源代码,老外的大牛果然不同凡响,令人恐怖的宏到处都是。令我等菜鸟心服口服。不用我说,这个源代码确实有许多值得学习的地方,首先这是一个基于插件机制的程序。也就是只要按照它定义的规范就可以根据自己的需要为KeePass编写插件。这是不是很炫啊。记得我刚接触到vs studio开发环境时,装了源代码管理器插件。然后就可以直接在vs studio中使用源代码管理,这个功原创 2009-12-21 17:59:00 · 3890 阅读 · 4 评论 -
数字签名
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。 数字签名不是指将你的签名扫描成数字图像,或者用触摸板获取的签名,更不是你的落款。 数字签名了的文件的完整性是很容易验证的(不需要骑缝章,骑缝签名,也不需要笔迹专家),而且数字签名转载 2009-12-22 17:21:00 · 738 阅读 · 0 评论 -
pack关键字的使用
pack #pragma pack([n]) 该指令指定结构和联合成员的紧凑对齐。而一个完整的转换单元的结构和联合 的紧凑对齐由/Zp选项设置。紧凑对齐用pace编译指示在数据说明层设置。该编译指示在其出现后的第一个结构或联合说明处生效。该编译指示对定义无效。当你使用#pragma pack(n转载 2009-12-22 11:37:00 · 1222 阅读 · 0 评论 -
调整了日志格式
今天调整了日志格式,看了filezilla开源ftp客户端,以后花些时间好好研究其源代码,提高自己的编程水平。filezilla是采用wxwigdet库作为界面库,wxwiget也是一个开源且免费的跨平台界面库,实现类似MFC,很好很其强大。另外一个安全软件KeePass也十分不错,其架构和加密解密算法值得好好研究。原创 2009-12-18 18:20:00 · 728 阅读 · 0 评论 -
模态对话框和非模态对话框结束区别
模态对话框使用EndDialog结束,而非模态对话框使用DestroyWindow结束。原创 2010-02-22 16:26:00 · 582 阅读 · 0 评论 -
VC 打开资源管理器
直接调用shell命令:ShellExecute(NULL,"explore", "C://", NULL, NULL, SW_SHOW);原创 2009-12-17 17:05:00 · 5878 阅读 · 1 评论 -
设置控件的背景颜色。
设置控件的背景颜色,主要是针对对话框程序而言。方法是处理WM_CTLCOLOR消息,然后返回一个画刷即可。注意该画刷只能供系统使用,所以应该独立的设置一个变量。 改变静态文本的背景颜色和其他的控件还不一样,主要方法是: HBRUSH KDialogPage7::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){ H原创 2009-12-08 18:28:00 · 1183 阅读 · 0 评论 -
终于把代码重写完了
这几天忙着重写,因为以前写的时候没有规划好,写的有点乱,自己看不下去了。而且代码量也不大,于是开始重构,花了3天时间,终于都搞定了。心里长叹一口气,现在看起来舒服多了。 以后无论写什么代码,代码量多少,最重要的还是要规划好,做好设计,然后然后再开始写。这样写出的代码才利于维护,易于扩展。做什么事情都应该留条后路,也就是说要易于扩展。虽然未来不可预见,但是多考虑些东西还是比较好的。原创 2009-12-08 18:22:00 · 744 阅读 · 0 评论 -
代码评审完了
代码评审完了,心里终于松了口气。原创 2009-12-10 14:21:00 · 656 阅读 · 0 评论 -
tinyXML问题
tinyXML是个优秀解析Xml文件的组件,今天使用时,发现正确的解析xml文件中的中文,原因是因为tinyXML是使用UTF-8编码,而我们使用的中文编码是GB2312,解决的方法是把xml文件中的编码改为GB2312,如下所示:原创 2009-12-08 18:33:00 · 779 阅读 · 0 评论 -
定义的枚举莫名其妙的编译错误
最近郁闷了,定义的枚举类型明明是正确,可是老是编译错误,出现error C2143号错误,莫名其妙,弄了好久,终于找到原因了,原来是枚举常量已经定义过了 ,例如, typedef enum tagTest { TEST_VALUE_ONE, TEST_VALUE_TWO }Test; 如果TEST_VALUE_ONE已经原创 2009-12-06 22:05:00 · 1659 阅读 · 0 评论 -
如何结束模态对话框?
一个模态对话框创建之后,阻塞了当前线程。一般情况下,只有通过模态对话框上的按钮例如onok或oncancel结束对话框。但是有些特殊的场合下,如何在外部结束一个模态对话框呢?(1)调用模态对话框的EndDialog() (2)通过发送WM_CLOSE消息结束。本人倾向于(2)。使用(1)未免太暴力了。可能会引起未知的错误。原创 2010-03-05 16:27:00 · 1330 阅读 · 0 评论