如何清除IE缓存(Internet临时文件,Cookie,历史记录,表单记录,上网密码)?飘易建议大家可以调用系统API来实现,可以使用借助RunDll32.exe来运行Internet选项的对应删除功能。比如:
TemporaryInternetFiles(Internet临时文件)
RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess8Cookies
RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess2History(历史记录)
RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess1Form.Data(表单数据)
RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess16Passwords(密码)
RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess32DeleteAll(全部删除)
RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess255DeleteAll-"Alsodeletefilesandsettingsstoredbyadd-ons"
RunDll32.exeInetCpl.cpl,ClearMyTracksByProcess4351我们在c#编程中如何调用这些指令呢?有2种方式,一是调用Process启动RunDll32.exe,二是调用Win32API函数ShellExecute或者CreateProcess来执行以上的命令行就可以了。方法一:调用Process启动RunDll32.exe
privatevoidIEclear()
{
//清除ie缓存、cookie以及一切记录
Processprocess=newProcess();
process.StartInfo.FileName="RunDll32.exe";
process.StartInfo.Arguments="InetCpl.cpl,ClearMyTracksByProcess255";
process.StartInfo.UseShellExecute=false;
process.StartInfo.RedirectStandardInput=true;
process.StartInfo.RedirectStandardOutput=true;
process.StartInfo.RedirectStandardError=true;
process.StartInfo.CreateNoWindow=true;
process.Start();
}方法二:调用Win32API函数ShellExecute或者CreateProcess来执行以上的命令行就可以了。
publicenumShowCommands:int
{
SW_HIDE=0,
SW_SHOWNOrmAL=1,
SW_NOrmAL=1,
SW_SHOWMINIMIZED=2,
SW_SHOWMAXIMIZED=3,
SW_MAXIMIZE=3,
SW_SHOWNOACTIVATE=4,
SW_SHOW=5,
SW_MINIMIZE=6,
SW_SHOWMINNOACTIVE=7,
SW_SHOWNA=8,
SW_RESTORE=9,
SW_SHOWDEFAULT=10,
SW_FORCEMINIMIZE=11,
SW_MAX=11
} [DllImport("shell32.dll")]
staticexternIntPtrShellExecute(IntPtrhwnd,stringlpOperation,stringlpFile,stringlpParameters,stringlpDirectory,ShowCommandsnShowCmd); //清除IE临时文件
ShellExecute(IntPtr.Zero,"open","rundll32.exe","InetCpl.cpl,ClearMyTracksByProcess8","",ShowCommands.SW_HIDE);通过以上的方法就可以成功在软件中删除IE的cookies、缓存、临时文件等。
如果觉得《C#删除IE临时文件 缓存 Cookies》对你有帮助,请点赞、收藏,并留下你的观点哦!