自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 收藏
  • 关注

原创 在“更改或删除程序”内添加自己的卸载入口

一般情况下,我们的安装程序都是使用windows的安装管理接口实现的,它会自动生成卸载程序并在控制面板中的“更改或删除程序”中添加一个删除入口。但是有时候我们可能需要自己通过代码添加自己的删除入口,该怎么办才能让我们的程序也能通过“更改或删除程序”来卸载呢?答案是:修改注册表。在注册表HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentV

2010-03-27 17:43:00 1609

原创 windows根据内容搜索文件的原理

windows的桌面搜索中的一个功能是根据内容搜索文件,但是面对不同的文件有不同的文件格式,他是怎么实现对多种文件格式的支持的呢?它的秘密武器就是文本过滤器。在注册表中可以为每种文件格式指定它的过滤器组件接口的CLSID,例如:HKEY_CLASSES_ROOT/.htm/PersistentHandler/{eec97550-47a9-11cf-b952-00aa0051fe20}根

2010-03-27 17:32:00 1898

原创 windows当前安装的程序的信息

都在注册表路径:HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/UninstallHKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall下。通过他们可以得到当前所有安装程序的信息,也可以修改其中的数据,添加自己的程序卸载入口。

2010-03-24 18:13:00 514

原创 以后不再忘记修改运行时库模式

程序提交测试后才发现运行时依赖运行时库文件。这意味着提交的程序根本没有办法运行。真是郁闷。记得之前在这个上面碰过钉子,现在又忘了,记下这个事情以不时提醒自己。 在运行时库上碰的钉子还有:调用者与静态链接库的运行时库模式不一致,链接程序时会出一堆莫名其妙的错误;一个多线程程序,但是项目运行库模式设置为“单线程”,也许会导致程序异常崩溃。更可笑的是,DEBUG下设置运行库模式为

2010-03-17 14:22:00 599

原创 std::string 内存管理特别,多线程使用时应注意

VC2003开发程序,遇到一个崩溃的问题,经过苦苦查询,发现和std::string的内存管理以及自己的使用方法有关。std::string使用懒惰的内存管理策略。例如:string str1 = "sdsada";string str2 = str1;这时两个对象所指的字符串内存其实是同一块内存。也就是说,当通过str1构造str2的时候,str2并没有立刻分配一块自己的字符串内

2010-03-17 14:05:00 2634 1

原创 榜样的作用

榜样能够使人轻松的进入一种状态。这种状态可能是通过刻意无法找到的。所以,在社会上树立几个高大的榜样,还是很有必要。

2010-02-22 13:24:00 691

原创 COM组件与编译的字符集类型

用VC6.0 ATL编译一个多字节字符集的组件,在有中文路径下进行注册,发现注册表中的文件路径的中文变成了乱码(XP、Vista、Windows7下都是)。字符集类型设置为UNICODE,编译出来的组件没有这个问题。 VC2003编译的多字节字符集的组件则可以在中文路径下正确被注册。但是好像需要管理员权限。 为什么呢?实际情况总是比理论复杂!

2010-01-26 18:27:00 598

原创 动态库接口数据类型

动态库接口数据类型不宜条件使用编译类型,比如TCHAR,CString等。因为,动态库的使用者和动态库对这些类型的理解可能是不同的。若不同,将引起错误。

2010-01-26 18:24:00 681

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除