C#清除IE临时文件

来源:互联网 发布:值得买的东西知乎 编辑:程序博客网 时间:2024/05/02 05:03

清除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

想通过编程方式清除IE缓存, 调用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);