*************************
说明
*************************
由于缓存文件是特殊的文件,以及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#应用中集成,实现清理缓存的功能,无需用户手动操作。这在自动化测试、持续集成或用户...
这种方法不仅提高了清理缓存的效率,还为用户提供了一种直观的方式来监控和管理自己的浏览器缓存。此外,本示例还展示了如何利用C#中的各种类库和技术,例如`System.IO`、正则表达式以及Windows表单,这对于初学者来...
代码如下:/// <summary>/// 获取数据缓存/// </summary>/// ”CacheKey”>键</param>public static object GetCache(string CacheKey){ System.Web.Caching.Cache objCache = HttpRuntime.Cache; return objCache...
清理缓存是一款可以帮助用户一键清理chrome缓存垃圾,提高chrome运行速度的谷歌浏览器插件,在chrome中安装了清理缓存插件以后,用户就可以直接点击清理缓存插件按钮,即可快速地清理当前浏览器中的垃圾,而不用再...
7. **缓存容量限制**:根据内存资源,我们可以设定缓存的最大容量,当达到上限时,根据缓存策略自动清理旧的或不常使用的文件。 以下是一个简单的C#文件缓存类的伪代码示例: ```csharp using System; using ...
5. **缓存策略**:可能支持基于时间的过期策略,或者基于内存压力的自动清理策略。 6. **缓存依赖**:如果缓存类支持,可以定义数据依赖,如数据库或文件变化时自动更新缓存。 7. **性能监控**:提供统计信息,如...
在缓存线程模板中,可能包含了一套机制来管理缓存的生命周期,包括加载数据到缓存、检查缓存的有效性、过期策略以及清理无用的缓存项。它可能使用了诸如LRU(最近最少使用)或LFU(最不常用)等缓存替换策略来决定...
4. 手动清理:在特定业务逻辑中,根据需要手动清除或替换缓存。 五、小程序示例 下面是一个简单的C#内存缓存小程序,展示了如何插入、获取和移除缓存项: ```csharp using System.Runtime.Caching; class Program...
成品路径:路径是 ‘删除微信缓存\删除微信缓存\bin\Release\删除微信缓存.exe’ IDE:Visual Studio 2019 环境:windows10 x64 GUI:winform 框架:.Net 4.0
### C# 清理 Temp 文件知识点详解 #### 一、概述 在计算机系统中,临时文件(Temp Files)是程序运行过程中产生的缓存文件或中间数据文件,它们通常存储在系统的临时目录中。随着时间和软件使用的积累,这些临时...
本压缩包文件"**C# 清理垃圾文件.rar**"包含了几个相关的C#代码示例,专门用于清理特定类型的垃圾文件,如浏览器缓存、临时文件、地址栏历史记录、Cookies以及最近打开文件的记录。 1. **C# 清理IE缓存文件** ...
3. **删除**:用户可以清理缓存以保护隐私,或者释放磁盘空间。这通常包括清除历史记录、cookies和其他临时互联网文件。 标签中的"IE缓存查看 复制"进一步强调了软件的主要功能点,即查看缓存内容和复制文件,这两...
【标题】"MyNopCommerce(不删,006_清理缓存)"涉及的是针对开源电子商务平台NopCommerce的反向工程与优化过程,尤其是关于缓存清理的部分。NopCommerce是一个基于ASP.NET MVC技术的成熟电子商务解决方案,它利用缓存...
c# 实现清除 ie缓存 cookies 的类
标题中的"vs+c#+bat文件+清理系统垃圾文件"揭示了几个关键的IT知识点,主要涉及Visual Studio(VS)、C#编程语言以及批处理(BAT)脚本在系统维护中的应用。下面将对这些概念进行详细阐述。 1. **Visual Studio (VS...
因此,合理设置缓存策略、定期清理无用缓存以及监控缓存使用情况都是至关重要的。 总之,页面缓存和清除页面缓存是ASP.NET开发者必备的技能,通过C#的缓存机制,我们可以有效地提高网站的响应速度和用户体验。理解...
4. 在缓存管理方面,可能还需要考虑缓存清理策略,例如定期删除未使用的缩略图,以避免硬盘空间浪费。 5. 错误处理和异常处理也是必不可少的部分,以确保在遇到问题时能够优雅地处理,比如无法读取源文件或保存到...