技术探索

利用cmd.exe命令清除本机ie浏览器特殊内容

2013-05-07
1849

有时候我们可能需要在自己的程序中清除本机IE浏览器保存的一些特殊内容,由于其“特殊性”,所以用一般的方法可能并不理想。下面这个方法可以真正完成这一操作,经测试,唯一发现的问题是一些杀毒软件可能会报错,但任务仍可顺利完成(如卡巴斯基)。

#region ClearSpecialContentOfIE
/// 
/// 清除IE浏览器保存的特殊内容。
/// 
/// 1:历史记录,2:Cookies,8:Internet临时文件,16:表单数据,32:密码,255:全部删除,4351:全部删除(含设置)
public static void ClearSpecialContentOfIE(int flag)
{
    string cmd = string.Format("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess {0}", flag.ToString());

    System.Diagnostics.Process p = new System.Diagnostics.Process();
    p.StartInfo.FileName = "cmd.exe";
    p.StartInfo.UseShellExecute = false;  //关闭Shell的使用
    p.StartInfo.RedirectStandardInput = true;  //重定向标准输入
    p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出
    p.StartInfo.RedirectStandardError = true;  //重定向错误输出
    p.StartInfo.CreateNoWindow = true;
    p.Start();
    p.StandardInput.WriteLine(cmd);
    p.StandardInput.WriteLine("exit");
}
#endregion


另外,以上命令不适用IE6浏览器。