飘易博客(作者:Flymorn)
订阅《飘易博客》RSS,第一时间查看最新文章!
飘易首页 | 留言本 | 关于我 | 订阅Feed

C#清除IE临时文件缓存cookies的方法

Author:flymorn Source:flymorn
Categories:C#编程 PostTime:2012-6-30 18:34:23
正 文:
   如何清除IE缓存(Internet临时文件,Cookie,历史记录,表单记录,上网密码)?飘易建议大家可以调用系统API来实现,可以使用借助RunDll32.exe 来运行Internet选项的对应删除功能。

比如:
Temporary Internet Files  (Internet临时文件)
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 8

Cookies
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2

History (历史记录)
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1

Form. Data (表单数据)
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 16

Passwords (密码)
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 32

Delete All  (全部删除)
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255

Delete All - "Also delete files and settings stored by add-ons"
RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 4351

    我们在c#编程中如何调用这些指令呢?有2种方式,一是调用Process启动 RunDll32.exe,二是 调用Win32 API函数 ShellExecute 或者 CreateProcess 来执行以上的命令行就可以了。

    方法一:调用Process启动 RunDll32.exe
private void IEclear()
        {
            //清除ie缓存、cookie以及一切记录
            Process process = new Process();
            process.StartInfo.FileName = "RunDll32.exe";
            process.StartInfo.Arguments = "InetCpl.cpl,ClearMyTracksByProcess 255";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardInput = true;
            process.StartInfo.RedirectStandardOutput = true;
            process.StartInfo.RedirectStandardError = true;
            process.StartInfo.CreateNoWindow = true;
            process.Start();
        }

    方法二: 调用Win32 API函数 ShellExecute 或者 CreateProcess 来执行以上的命令行就可以了
public enum ShowCommands : 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")]
static extern IntPtr ShellExecute( IntPtr hwnd, string lpOperation, string lpFile, string lpParameters, string lpDirectory, ShowCommands nShowCmd);

//清除IE临时文件
ShellExecute(IntPtr.Zero, "open", "rundll32.exe", " InetCpl.cpl,ClearMyTracksByProcess 8", "", ShowCommands.SW_HIDE);

    通过以上的方法就可以成功在软件中删除IE的cookies、缓存、临时文件等。
作者:flymorn
来源:flymorn
版权所有。转载时必须以链接形式注明作者和原始出处及本声明。
上一篇:C# WebBrowser 屏蔽JS alert,confirm弹窗
下一篇:HttpWebRequest第一次请求很慢超时的原因
1条评论 “C#清除IE临时文件缓存cookies的方法”
2012-7-8 17:15:44
不错,学习了贩贩?

长沙阳光医院 http://www.5813999.com

  长沙不孕不育医院 http://3189978.ic98.com/

  长沙不孕不育专科医院 http://www.073188888999.com

  长沙妇科医院 http://www.csygfuke.com
发表评论
名称(*必填)
邮件(选填)
网站(选填)

记住我,下次回复时不用重新输入个人信息
© 2007-2010 飘易博客 Www.Piaoyi.Org 原创文章版权由飘易所有 渝ICP备07006361号