*************************
说明
*************************
由于缓存文件是特殊的文件,以及WebBrowser与IE版本有关
因此删除缓存绝对不可能用一些IO函数就总可以解决的
因此我的这些函数在IO操作的基础上,又针对环境进行相应的清理。
static class WebCleaner
{
/*
* 7 个静态函数
* 私有函数
* private bool FileDelete() : 删除文件
* private void FolderClear() : 清除文件夹内的所有文件
* private void RunCmd() : 运行内部命令
*
* 公有函数
* public void CleanCookie() : 删除Cookie
* public void CleanHistory() : 删除历史记录
* public void CleanTempFiles() : 删除临时文件
* public void CleanAll() : 删除所有
*
*
*
* */
//private
///
/// 删除一个文件,System.IO.File.Delete()函数不可以删除只读文件,这个函数可以强行把只读文件删除。
///
/// 文件路径
/// 是否被删除
static bool FileDelete(string path)
{
//first set the File\'s ReadOnly to 0
//if EXP, restore its Attributes
System.IO.FileInfo file = new System.IO.FileInfo(path);
System.IO.FileAttributes att = 0;
bool attModified = false;
try
{
//### ATT_GETnSET
att = file.Attributes;
file.Attributes &= (~System.IO.FileAttributes.ReadOnly);
attModified = true;
file.Delete();
}
catch (Exception e)
{
if (attModified)
file.Attributes = att;
return false;
}
return true;
}
//public
///
/// 清除文件夹
///
/// 文件夹路径
static void FolderClear(string path)
{
System.IO.DirectoryInfo diPath = new System.IO.DirectoryInfo(path);
foreach (System.IO.FileInfo fiCurrFile in diPath.GetFiles())
{
FileDelete(fiCurrFile.FullName);
}
foreach (System.IO.DirectoryInfo diSubFolder in diPath.GetDirectories())
{
FolderClear(diSubFolder.FullName); // Call recursively for all subfolders
}
}
static void RunCmd(string cmd)
{
System.Diagnostics.Process.Start(\"cmd.exe\", \"/c \" + cmd);
}
///
/// 删除历史记录
///
public static void CleanHistory()
{
string[] theFiles = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.History), \"*\", System.IO.SearchOption.AllDirectories);
foreach (string s in theFiles)
FileDelete(s);
RunCmd(\"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1\");
}
///
/// 删除临时文件
///
public static void CleanTempFiles()
{
FolderClear(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache));
RunCmd(\"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8\");
}
///
/// 删除Cookie
///
public static void CleanCookie()
{
string[] theFiles = System.IO.Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies), \"*\", System.IO.SearchOption.AllDirectories);
foreach (string s in theFiles)
FileDelete(s);
RunCmd(\"RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2\");
}
///
/// 删除全部
///
public static void CleanAll()
{
CleanHistory();
CleanCookie();
CleanTempFiles();
}
}
分享到:
相关推荐
调用该程序呢可以运行项目时自动清理IE缓存
开发C#应用程序时可以调用该程序自动清理缓存
C# 清理 IE 缓存文件.txtC# 清理 IE 缓存文件.txt
清理缓存是一款可以帮助用户一键清理chrome缓存垃圾,提高chrome运行速度的谷歌浏览器插件,在chrome中安装了清理缓存插件以后,用户就可以直接点击清理缓存插件按钮,即可快速地清理当前浏览器中的垃圾,而不用再...
代码如下:/// <summary>/// 获取数据缓存/// </summary>/// ”CacheKey”>键</param>public static object GetCache(string CacheKey){ System.Web.Caching.Cache objCache = HttpRuntime.Cache; return objCache...
c# 实现清除 ie缓存 cookies 的类
asp.net,C#页面缓存和清除页面缓存
本人写了个主要是用于清理在开发web程序时使用IE浏览器产生的缓存,有些缓存必须要清楚临时文件才能有效,不然有时修改的js,css文件看不到效果,然后在写这个时候加了些新的东西,新手的可以学习参考下,源文件都在...
C#实现自动清理微信、QQ垃圾文件 功能: 1.清理微信垃圾(视频,缓存,文件,图片等)可保留聊天记录,可自定义删除文件夹 默认清理所有微信,也可以指定微信文件夹 2.清理指定目录文件(手动添加目录) 3.可配合...
删除VS项目产生的临时文件,只保留源码和工程文件,手动配置需要清理的工程路径,需要或略的文件或者文件夹,需要删除的文件或者文件夹!
主要介绍了C#实现清除IE浏览器缓存的方法,实例分析了C#针对浏览器缓存清理所涉及的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
本文实例讲述了C#清除WebBrowser中Cookie缓存的方法。分享给大家供大家参考,具体如下: 最近用C#写一个程序,用一个窗体中的WebBrowser来登陆网站,但是WebBrowser有cookie缓存,第二次登陆的时候WebBrowser仍然是...
Cache缓存设置,获取,清理。Cache缓存设置,获取,清理
C#操作缓存的帮助类,实现了怎么设置缓存,怎么取缓存,怎么清理缓存等方法,只需要调用方法就可以实现 CookieHelper C#操作Cookie的帮助类,添加Cookie,删除Cookie,修改Cookie,清理Cookie SessionHelper C#...
C#操作缓存的帮助类,实现了怎么设置缓存,怎么取缓存,怎么清理缓存等方法,只需要调用方法就可以实现 CookieHelper C#操作Cookie的帮助类,添加Cookie,删除Cookie,修改Cookie,清理Cookie SessionHelper C#...
第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 编程语言 程语言编程语言 程语言 C#.4 1.1 Microsoft.NET——一场新的革命.4 1.2 .NET 与 C#.6 1.3 C#语言的特点.8 1.4 小 结 .11...
CookieHelper C#操作Cookie的帮助类,添加,删除,修改,清理 SessionHelper C#关于Session的操作,获取,设置,删除 SessionHelper2 C#关于Session的一些高级操作,比如取对象,取数据等等 3.CSV文件转换 CsvHelper...
代码如下:class IEUtil { public static void openIE(string url) { try { //System.Diagnostics.Process.Start(url); System.Diagnostics.Process p = new System.Diagnostics.Process(); p.StartInfo....