首页 软件 购物 网址 万年历 阅读 | 天天财汇 | 开发教程 头条阅读
图片批量下载器 M3U8下载器 网页批量下载器 图片自动播放器 淘宝下载 屏幕截图器 网页截图器 超级按键
喔哦浏览器 一键清理系统垃圾 天天百宝箱 布谷鸟定时关机 豆豆文本编辑器 木马查杀 显示器测试 好听音乐
TxT小说阅读器 快马文件互传 小说家小说写作助手 FoxFile文件管理器 千寻小说下载 高山文件备份 网速测试 文字转语音大师
股价下载分析器 离线地图下载器 多播视频 漫多多 品妙游戏 打豆豆 俄罗斯方块 果蔬连连看 宠物连连看 美女连连看 五子棋 订制软件
推荐分类: 软件公告 | 焦点关注 | 天天财汇 |
  当前位置: 首页 > 软件公告 > 技术专区 > 用VC清除浏览痕迹 > 正文显示
  百分百防木马的网页浏览器 网虫浏览器
 翻页: [1]   共1/1页
第1楼: 用VC清除浏览痕迹  
   作者: 匿名   发表时间: 2008/7/3 18:26:57   主页:   IP: 保密
上机浏览,总要留下一些痕迹。手工一一清除,实在烦人。那么,就让我们用编程来一劳永逸地清除浏览痕迹吧。

1.清除指定目录下的文件

众所周知,大多数的“垃圾”都放在指定的文件夹下,你只需删除这些文件即可。

使用Windows API中的DeleteFile函数即可作到这一点。我们可以将它作成一个较完善的函数,用于删除指定文件夹下的选定类型文件。函数扩充代码如下:

void DelMyPointFile(LPSTR name,LPSTR CurrentPath)

{

//删除指定路径下的指定文件,支持通配符

//name:被删除的文件;CurrentPath:找到的文件路径

WIN32_FIND_DATA FileData;

HANDLE hSearch;

char szHome[MAX_PATH];

//char szFile[MAX_PATH];

DWORD RightWrong;

//HDC MyDiaDC;

DWORD NameLength;

//当前的程序路径

RightWrong=GetCurrentDirectory(MAX_PATH,szHome);

RightWrong=SetCurrentDirectory(CurrentPath);

//保存程序执行路径,然后,把当前路径设定为需要查找的路径

hSearch = FindFirstFile(name, &&FileData);

if (hSearch!= INVALID_HANDLE_VALUE)

{

NameLength=lstrlen(FileData.cFileName);

DeleteFile(FileData.cFileName);

while(FindNextFile(hSearch,&&FileData))

{

//找下一个文件,找到一个删除一个

NameLength=lstrlen(FileData.cFileName);

DeleteFile(FileData.cFileName);

}

FindClose(hSearch);

//关闭查找句柄

}

RightWrong=SetCurrentDirectory(szHome);

}

有了这个函数,你就可以用以下代码清除文档选单、系统临时目录和IE临时目录。

char WindowRecentPath[]="\\Recent";

char WindowTemp[]="\\temp";

char WindowIETemp[]="\\Temporary Internet Files";

char WindowCookie[]="\\Cookies";

char szWindowsPath[MAX_PATH];

char szDelPath[MAX_PATH];

...

GetWindowsDirectory(szWindowsPath,MAX_PATH);

lstrcpy(szDelPath,szWindowsPath);

lstrcat(szDelPath,WindowRecentPath);

//删除window最近使用的文件列表

DelMyPointFile("*.*",szDelPath);

lstrcpy(szDelPath,szWindowsPath);

lstrcat(szDelPath,WindowTemp);

//删除window临时文件

DelMyPointFile("*.*",szDelPath);

lstrcpy(szDelPath,szWindowsPath);

lstrcat(szDelPath,WindowIETemp);

//删除window IE临时文件

DelMyPointFile("*.*",szDelPath);

2.“历史记录”的清除

IE的“历史记录”一直让人头疼不已,即使你把“历史记录”设定为零天同样能保存当天的内容;尝试用文件删除,却因为文件处于加载模式而此路不通;翻遍MSDN中也找不到可以利用的API。幸好IE自身的清除功能可以作到这一点。IE是一个典型的COM构件,我们可以通过调用它的组件模块来直接清除“历史记录”。

HRESULT ClearHistory()

{

//建立IUrlHistoryStg2组件指针

IUrlHistoryStg2 * pUrlHistoryStg2=NULL;

//初始化COM库

CoInitialize(NULL);

//建立客户对象

HRESULT hr=CoCreateInstance(CLSID_CUrlHistory,NULL,CLSCTX_INPROC,IID_IUrlHistoryStg2,(void)&&pUrlHistoryStg2);

if(SUCCEEDED(hr))

{

//接口调用

hr=pUrlHistoryStg2->ClearHistory();

pUrlHistoryStg2->Release();

}

//关闭COM库的联接

CoUninitialize();

return hr;

}

3.清除下拉cache列表

IE的下拉cache列表随时保存你浏览过的网址,而以上的代码却不能清除它。Windows API中提供了FindNextUrlCacheEntry、DeleteUrlCacheEntry和FindFirstUrlCacheEntry三个函数用于清除,使用上略有点麻烦。而在Window 9X中有一个更加偷懒的办法,即直接删除注册表。代码如下:

void DelRegCache()

{

//删除注册表中保存的IE cache中的记录

LPCSTR RootKey="HKEY_CURRENT_USER";

LPCSTR SubKey="Software\\Microsoft\\Internet Explorer\\TypedURLs";

RegDeleteKey(HKEY_CURRENT_USER,SubKey);

}

Cookie的删除

Cookie保存在系统目录的Cookies子目录中,如果没有打开IE,则可直接删除。如果打开IE,由于它会保存一部分在内存中,你可以使用以下代码删除。

InternetSetOption(0, INTERNET_OPTION_END_BROWSER_SESSION, 0, 0);

lstrcpy(szDelPath,szWindowsPath);

lstrcat(szDelPath,WindowCookie);

//删除window IE临时文件

DelMyPointFile("*.*",szDelPath);

以上代码在VC++ 6.0、Windows 98下运行通过,可以满足平时的大多数使用需要。然而,以上代码中DelMyPointFile功能较为单一,只能删除目录下的文件,对于子目录就无能为力了。有兴趣的读者可以自己编写一个递归过程来完善它的功能。

 

 翻页: [1]   共1/1页



   若有疑问请联系我们

  ※软件公告※
图片批量下载器
获首届软件创新大赛优秀奖
电脑教育报
专访TxT小说阅读器
软件相关
·软件公告
·图片批量下载器
·超级按键
·网虫浏览器
·一键清除系统垃圾
·TxT小说阅读器
·热门小说推荐
·小说下载器
·网页截图器
·木马祼奔
·天天百宝箱
·显示器测试
·图片管理器
·好听音乐盒
·连连看游戏系列
资讯相关
·焦点关注
·在线游戏
·娱乐八卦
·经济论坛
·体育世界
·健康知识
·每日一笑
·技术专区
·特别推荐
·随便贴贴
三石聚峰
Intel软件合作伙伴
·几张很黄很黄的图片
·预测你的未来潜能

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/25 0:30:37-

 网站联系 2006-2024 三石聚峰 WWW.3FWork.COM 蜀ICP备06016416号