随笔分类 -  c++

摘要:这个其实发在这里有点不合适,因为在.NET环境下本身很多数据都采用xml格式化,存储在本地,另一方面是.net的类库也非常的灵活,对注册表操作非常方便,没有必要画蛇添足来这么一个包装的类,但是如果你用 vc++, WIN32 API, 做开发的时候,你会发现要对注册表操作非常的困难,更让人寒心的是,它居然没有提供对注册表键的重命名,在NTDLL.dll 中有一个可以替代的API:NTRenameKey, 但是它只有winXP之后的操作系统才提供,所以,笔者在这里提供这样一个操作类,主要是弥补了WIN32 API 在这方面的不足。如果读者有兴趣的话可以去看Dan Madden 写的一篇文章:http://www.codeproject.com/KB/system/NtRegistry.aspx 但是他的项目必须要用到MFC的类库,感觉不爽。 阅读全文
posted @ 2008-04-18 17:12 vEteran.lu 阅读(1575) 评论(0) 推荐(0)
摘要:vc8 下用到boost 类库,没找到安装的办法,google 了一下,找到了一些介绍安装的方法,比如 http://hi.baidu.com/atry/blog/item/46950ad738c635dca044dff0.html 然后我傻乎乎的按照他的方法去做,结果装了我2个小时,在c盘留下了2G多的垃圾文件。 后来我想boost的类库应该是可以单独安装的,而我的项目中用到的仅仅是regex的部分,最终在\boost_1_34_0\libs\regex\下面找到了一个index.html文件,上面写明了安装regex类库的方法。翻译如下(英文一半,所以附上原文): 阅读全文
posted @ 2007-10-15 16:35 vEteran.lu 阅读(1312) 评论(0) 推荐(0)
摘要:In my VC MFC develop expericence, I always find that it is really poor of the microsoft provided to us, but we have no much project budget to bug a beautiful third-ctrl. So sometimes we need do some work to modify the standard Control. For the purpose of reuse, I have my library database, though lots of them come from internet, and I just did little work. but I still very pleasure to share with your guys. At first, I want introduce XListCtrl to you. This control was developed by Ha 阅读全文
posted @ 2007-08-24 11:22 vEteran.lu 阅读(1509) 评论(2) 推荐(0)
摘要:CWebBrowser2 ctrl provide two method to link a web page: Navigate2(VARIANT* URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers) Navigate(LPCTSTR URL, VARIANT* Flags, VARIANT* TargetFrameName, VARIANT* PostData, VARIANT* Headers) My requirement is very simple, give a link: such as www.sina.com, navigate to web page. At first, I use method Navigate because it is easy to use. But sometimes I find that it get a error page while I can link the 阅读全文
posted @ 2007-08-17 19:43 vEteran.lu 阅读(1699) 评论(1) 推荐(0)
摘要:代码如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--inti=0,j=0;CJob**ppJobs=NULL;try{intnCount=m_xlist.CountCheckedItems(0);if(nCount){ppJobs=newCJob... 阅读全文
posted @ 2007-06-06 12:14 vEteran.lu 阅读(366) 评论(0) 推荐(0)
摘要:管理用户凭证是一件非常困难的事情。理想上你的windows域凭证应该有足够的权限来访问你可能需要的资源。但是有这么简单吗?你可能不可避免的要去处理不同的安全权限,包括 windows域,Microsoft Passport和应用程序指定的验证策略。好像那些还不够挑战,凭证可能来自不同的form,包括smart cards, certificates 和密码。 自从2001年windows xp发布,windows包含了credential management api去管理用户凭证。这些api 的设计是为了简化内部程序用户凭证管理,也为你自己的相关凭证管理提供了一致的安全的方法。她也可以被用来请求不需要被持久化的凭证,或者持久化你的应用程序的凭证,比如用数据保护api(Data Protection API). 在这篇文章我会介绍windows credential management api, 包括界面处理,凭证集合管理。介绍这些api的一个挑战是依赖你的背景知识和你怎么去用她,这些是一个c-style 阅读全文
posted @ 2007-06-05 00:04 vEteran.lu 阅读(1072) 评论(0) 推荐(0)
摘要:Advantage & Disadvantage 1. 更强大IDE开发环境可以有效的提高程序员的开发效率和减少团队培训的工作量。 2. Manifest 为DLL heap提供了一个解决方案,有效的减少了bug的产生。当然由于硬盘的扩大和网络环境的改善,由此带来的分发部署文件的增大可以容忍。 3. vc8支持CLR的混合编译,这在某种程度上有利于我们从vc8迁移到.net 3.0平台。 4. Vc8 支持新的类库,这样我们不用为了利用某个DLL里的函数而写一大堆加载和查找函数地址的代码,减少了产生bug的机会。 5. 更好的支持C++标准,for example: std::copy, getenv 等函数使用时会被提示为: warning C4996: 'getenv' was declared deprecated. 阅读全文
posted @ 2007-05-20 14:22 vEteran.lu 阅读(1499) 评论(2) 推荐(0)
摘要:在这里我总结的是用installshield 打包软件的时候自定义安装界面的问题,阅读下面的文章请确保您具有以下工具的使用经验: spy++ installshield 12 visual studio 2005 熟悉以下语言: vc++ installscript 并且熟悉windows的系统操作。 另外本文的例子是基于installscript 类型项目。 阅读全文
posted @ 2007-04-28 20:36 vEteran.lu 阅读(2006) 评论(3) 推荐(0)
摘要:主题:STL 中Map容器的跨动态库调用所属分类:C/C++ C++ 语言----------------------------------------------------------------------在VC自带STL版本中,两个动态库间引用传递一个MAP容器。在实现的动态库中MAP下-_Tr{...}+_Nil0x00000000导致针对MAP的实现死机。_Nil0x00000000... 阅读全文
posted @ 2007-03-29 16:06 vEteran.lu 阅读(2021) 评论(0) 推荐(0)
摘要:看到了vsts的test功能,集成了unit test。 非常兴奋。但是我写的mfc 非托管代码也能用它的unit test 功能吗?自己试着建了一个c++的test项目,得到的是托管的东东。难道还得用cppunit吗? ? 阅读全文
posted @ 2007-03-14 12:05 vEteran.lu 阅读(273) 评论(0) 推荐(0)
摘要:最近公司要把一个项目迁移倒 vc8(vs2005),中间没有想象中的顺利,遇到了一些问题,总结一下: 首先推荐看小明思考的这篇文章: http://www.cppblog.com/sandy/archive/2006/03/13/4081.html 自己也补充一些: LNK2019 __invalid_parameter_noinfo 这个错误是引用了不同版本的静态类库(.lib文件)引起的。其实在vc6中,也有区分静态类库的debug 版和release 版,但是它不会报错,但是在vc8中,如果你混用了的话就会有这个错误。解决办法就是引用静态类库时要区分开来,debug 版的引用debug版的.lib 文件,release版的引用release版的.lib文件。 阅读全文
posted @ 2007-03-14 10:28 vEteran.lu 阅读(441) 评论(0) 推荐(0)