网学网为需要VC与C++类别的朋友们搜集整理了VC++设计实现了一个对病毒的检测工具相关资料,希望对各位网友有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
1.1 扫描文件的实现扫描文件的部分代码如下: BOOL KillVirusFile(const CString &filename) { CStdioFile file; try{ file.Open(filename,CFile::modeReadWrite);//以读写方式打开文件 }//执行一个可能会出错的操作 catch(...) { return FALSE; }//捕捉所用异常事件,进行处理,但程序属正常运行 …(此处省略部分代码) if(file.m_hFile!=CFile::hFileNull) { try{ while(file.ReadString(strLine))//读入文件一行 { strNewLine=strLine; strLine.MakeUpper(); if(strLine.Find(szVirusMark)>=0) //匹配到病毒感染标识 { AfxMessageBox("发现欢乐时光病毒!");//报警提示 strNewLine="</Script>"; tempFile.WriteString(strNewLine); file.Close(); //删除病毒感染标识之后脚本,加</Script>作为结尾,写入文件,并关闭文件 1.2 软件使用次数限制实现限制软件使用次数,也就是限制软件的运行次数。可以在程序内部添加一个修改注册表项的模块,每次程序启动时读取该项的值。如果未读到即该项不存则在说明是该软件是首次使用,直接建立该项并写入一个定值,以后每运行一次软件,该注册表项的值减1,直到该注册表项的值被减到小于程序规定的一个值时,说明超过规定次数则进行提示,而程序也不再进入主界面。实现的代码如下: unsigned char buffer[255]={0}; unsigned long length; unsigned long type; HKEY hKey; RegOpenKey(HKEY_LOCAL_MACHINE,"Software\\dm",&hKey); RegQueryValueEx(hKey,"Num",NULL,&type,buffer,&length); RegCloseKey(hKey); int Count; Count = atoi((const char*)buffer); if(Count == 0) //计数器为0说明是首次使用 { RegCreateKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\dm",&hKey);//新建注册表项 RegSetValueEx(hKey,"Num",0,REG_SZ,(constunsignedchar*)"5",strlen("5"));//设值为5表示只能使用5次 RegCloseKey(hKey); MessageBox(NULL,"本软件有使用次数限制\n您还可以使用5次","欢迎使用",MB_OK);//提示信息 } else if(Count == 1) { MessageBox(NULL,"您已经使用过5次,不能再使用本软件","抱歉",MB_OK); return true; } else { char buf[255]={0}; Count -= 1; itoa(Count,buf,10); CString str; str.Format ("您还可以使用%d次!",Count); MessageBox(NULL,str,"欢迎使用",MB_OK); RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\dm",&hKey); RegSetValueEx(hKey,"Num",0,REG_SZ, (const unsigned char*) buf,strlen(buf)); RegCloseKey(hKey); }//未到期限则显示剩余使用次数 1.3 软件功能简介本设计采用VC++编程实现,最后生成一个可执行的文件,即检测工具。 双击运行后程序主界面,如图2所示,主界面上主要有选择路径按钮、查毒按钮、清理注册表按钮以及一些与该病毒相关的其他按钮如病毒介绍按钮组成。程序运行后用户可以开始进行病毒检测工作。第一步是选择扫描路径,有两种方式可以选择,一是选择“扫描所有本地硬盘”选项,二是单击“请选择路径”按钮。若选择“扫描所有本地硬盘”选项,检测程序将对计算机所有分区所有文件进行病毒扫描;若单击“请选择路径”按钮,用户可以选择某路径进行病毒扫描。
|
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |