OICQ已经成为现在这个网络世界中最为时尚的聊天、即时通讯工具了!对于它,许多程序员都写了些相关小工具,像一些OICQ聊天辅助工具、OICQ密码获取器、聊天记录查看器等等,分别用作于不同的用途。
我不知道细心的QQ用户注意到没有,在QQ主目录下面有一个DAT文件夹,在此文件夹下有一个名为OICQ2000.cfg文件。该文件就是存有在本台机器上有多少个QQ号码,每个号码的长度值,每一个具体号码!下面详细介绍一下该文件并讲解一下如何用程序实现清除!
以下示例是在作者机器上文件内容:(号码为作者的QQ号文件内容以16进制值表示)
00 00 00 00 00 00 00 01 00 00 00 08 00 00 00 35 33 37 34 38 38 37 36
以上文件内容每两个字位为一个字节
前9个字节是这个机器上共有多少个QQ号,最大值为999999999个(不少吧)接着三个字节为00 00 00 这是分隔符。接着是一个字节数据08,表示当前QQ号码的长度为几位,为08表示为8位,接着又是分隔符,接着用这长度值字节数来存储实际的QQ号码的ASCII码值!如果有多个,就接着在后面存储分隔符(3字节)、QQ号码长度(1字节)、分隔符(3字节)、实际号码,以此类推………….
示例代码如下所示:
struct QQhead
{
unsigned char head[9];//总共有的QQ号码数 9字节
unsigned char spea[3];//分隔符,3字节
}; //oicq2000.cfg文件头结构
QQhead thishead;
//m_filename为要操作的文件名,就是oicq200.cfg,存储的是QQ的完成路径
ofile.Open(m_filename,CFile::modeRead,&fe);//打开oicq2000.cfg文件
ofile.Read (thishead.head,9);// 读出文件头,QQ号码数
long i,sum=0;
int number;
for(i=0;i<8;i++)
{
number=thishead.head[i];
sum=sum+number*10^(7-i);
}//处理QQ号码个数
number=thishead.head[8];
sum=sum+number;
CString str,stritem,leng;
unsigned char len[1];
char stritem1[99];
number=0;
ofile.Read (thishead.spea,3); // 读出分隔符
for(i=0;i<sum;i++)
{
ofile.Read (len,1); //读出该QQ号码长度;
ofile.Read (thishead.spea,3); // 读出分隔符
number=len[0];
ofile.Read (stritem1,number);
stritem1[number]='\0';
CListBox *plist;
plist=(CListBox *)GetDlgItem(IDC_LIST1);
str.Format ("%s",stritem1);
plist->AddString(str); //循环插入列表,并显示出来
}
上面这段代码的是从oicq2000.cfg文件中读取出所有的QQ号码并显示listbox控件中的功能。相信读者已经看明白了!
当然要实现我所做的软件的功能,就是在listbox双击一条QQ号就将其从oicq2000.cfg中去除的功能,读者参考上面的数据结构应该很快就能完成!
知道了以上原理,那我们就可以写出如下代码段来完成从文件中读取和向文件中存入的程序!(示例代码为本人所发布的软件部分代码。QQ登录号码清除器是作者本人写的一个完全共享的QQ小工具,软件下载地址为http://free.tsee.net/acehq/Hidenum.exe。也可以CSDN网站注册软件中找到,链接地址为http://www.csdn.net/cnshare/soft/10/10135.html!软件实现环境为VC++6.0,WINDOWQS 2000 SERVER操作系统,赛扬667,30G硬盘,128M内存 本U R L:http://www.qqread.com/vc/b219070.html进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Google在线翻译--请输入要翻译的内容 (59859次浏览)
- VC++动态链接库(DLL)编程深入浅出(二) (15435次浏览)
- VC++动态链接库(DLL)编程深入浅出(一) (13930次浏览)
- 基于OpenGL的三维曲面数据场动态显示 (607次浏览)
- 深入浅出Win32多线程设计之MFC的多线程 (531次浏览)
- 利用钩子技术控制进程创建(附源代码) (530次浏览)
- Visual C++初学者入门的一条捷径 (365次浏览)
- RS-232-C端口实时监控软件的设计实现 (326次浏览)
- Windows Gdi 应用-入门篇 (VC SDK) (317次浏览)
- Windows多线程多任务设计初步 (313次浏览)



