C/C++
实现打开某个文件并选中
八 7th
实现打开某个文件并选中,就是快捷方式上的查找目标功能。
简单的方法是调用explorer.exe并传入/select参数和要选中的文件。
直接采用ShellExecute即可实现,但是有些严重的缺陷。
- 每次调用都会创建一个explorer.exe进程,严重浪费内存
- 即使已经打开此文件文件夹,再次调用依然会创建新窗口
XP以上的操作系统提供了一个SHOpenFolderAndSelectItems函数,看见名字就知道这个函数的功能了。
因为我用的devcpp并没有这个函数的定义,所以我直接动态载入了。
更多 >
典型的uninstall(第二版)
七 26th
比如想在QQ安装包里面添加文件的时候,以前我都是改msi,而ansifa则是使用QQ.exe包含所需文件,第一次运行时即可释放。我每次都改msi也确实改够了,还是做个一次性的了解吧,以后就方便了。
主要功能是从exe资源的zip文件中释放包括QQ.exe的所有资源,然后启动QQ.exe。临时文件会在重启后删除。
哦,因为QQ是UNICODE的,所以最好这个程序也要是UNICODE的。
源代码如下(修改了代码,支持zip文件中的中文了):
学习了一下C++的运算符重载
六 25th
各位不好意思了,最近很忙,都不想写博客了。今天空多,发一篇。
因为对char失去了使用的欲望,所以尝试着自己写一个string类,没写完,全当是学习一下重载咯。
其实代码没必要这么多的,我又顺便学了一个str开头的函数。
除了需要引用malloc.h以外,其它的都是独立的。
所有全代码请查看全文SString.h。
数独解算器(第二版)
一 30th
“数独”(sudoku)一词来自日语,意思是“单独的数字”或“只出现一次的数字”。概括来说,它就是一种填数字游戏。但这一概念最初并非来自日本,而是源自拉丁方块,它是十八世纪的瑞士数学家欧拉发明的。出生于1707年的欧拉被誉为有史以来最伟大的数学家之一。
标准数独的规则为:数独每行、每列及每宫填入数字1-9且不能重复。
在家里没事做,开着手机玩数独。玩着玩着就想把那个解密器做出来。效果还不错,希望大家喜欢。
自带9个题目,各类题目3个。
这次主要是改进了界面和增加了暴力破解。应该没有破解不了的题目了。
更多 >
高速文件处理类
一 22nd
自己写的一个文件处理类,完全内存操作,所以占用内存比较大,但是速度比较快。
记得用完之后释放哦。
我还写了一个使用的搜素函数,可以搜索二进制、ANSI文本、UTF-8文本、UNICODE文本。
搜索二进制的时候,返回的是查找位置之后的位置。搜索文本返回的是文本位置。
没有找到都返回0.
希望不要去掉版权信息。
更多 >
C语言XML解析
一 8th
因为要用到这个功能,所以上网搜索了一番。(QQ音乐的去广告配置)
扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
我觉得这个东西嘛,能用就好了,我不需要高级的功能。所以最终选择了xmlParser。
只有一个cpp和一个h文件,使用很简单,引入cpp就够了。
C语言迷宫 源代码
十二 30th
关键部分在于迷宫的寻路部分,我灵感大爆发……用递归的思想,4行代码就搞定啦。
看起来就像是用洪水去冲那个通道,如果冲到了终点,说明这个通道是通的……
但是实现最优解就有点麻烦了,我嘛,就不做啦。
另外比较复杂的就是自动生成迷宫了,不过我又偷懒了,我没有用DFS那些什么算法来实现。
我是纯粹的随机的,只不过加了几个限制。
1、如果有解,停止生成
2、时间限制
3、在时间限制的基础上保证迷宫有一定的长度
代码清单:
更多 >
windows7编程-任务栏进度条
十二 30th
本文是原创文章,转载时请署名出处。http://www.shuax.com
windows7带来了一系列的新特性,尤其是任务栏的改进。诸如jumplist、缩略图控制……
本篇文章教你如何使用进度条控制这个功能。
一直在网上寻找如何开发windows7的新特性,可是千篇一律的全是.Net的托管代码,不好意思,反正我是看不懂的。然后突然想到Mplayer ww编译版现在也支持windows7的特性啦,于是跑去看源代码。果然让我发现了一个win7shellapi.h。下载下来,打开一看,嘿嘿,就有我想要的ITaskbarList3。哦,对了win7的这些功能是通过COM接口实现的。
下载地址:https://mplayer-ww.svn.sourceforge.net/svnroot/mplayer-ww/trunk/mplayer/win7shellapi.h
好了,既然找到了头文件就好办了。我为了方便,我使用的是MFC来演示。
