首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#删除本地cookies遇到的有关问题

2013-03-28 
C#删除本地cookies遇到的问题请教一个清除本地cookies遇到的问题我百度到一个清除的代码,如下:private voi

C#删除本地cookies遇到的问题
请教一个清除本地cookies遇到的问题


我百度到一个清除的代码,如下:


        private void button1_Click(object sender, EventArgs e)
        {

            foreach (string strFileName in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.Cookies)))
            {
                if (strFileName.ToLower().IndexOf("index.dat") == -1)
                {
                    File.Delete(strFileName);
                }
            }
        }


点button1是能够删除cookies文件,但是我当前已经打开的ie浏览器页面还会存在cookies缓存。

举例:
我打开IE登录了csdn.net ,我运行上面的代码清除cookies,cookies目录的文件是都被删除了。
但是在当前已经打开的IE浏览器地址栏里输入javascript:alert(document.cookie) 还会显示我登录状态下csdn.net的cookies信息。类似一个cookies缓存吧。需要我刷新页面才会生效。

可是我用了别人写的清除cookies软件确不存在这个问题,请教如何实现。
[解决办法]
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Runtime.InteropServices;

namespace WebClick_Tool
{
    class IESetting
    {

        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);


        
 
        static void RunCmd(string cmd)
        {
            System.Diagnostics.Process p = new System.Diagnostics.Process();
            p.StartInfo.FileName = "cmd.exe";
            // 关闭Shell的使用
            p.StartInfo.UseShellExecute = false;
            // 重定向标准输入
            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");

            p.WaitForExit();
        }
        /// <summary>
        /// 清除cookie
        /// </summary>
        /// <returns></returns>
        public static bool CleanCookie()
        {
            try
            {
                ShellExecute(IntPtr.Zero, "open", "rundll32.exe", " InetCpl.cpl,ClearMyTracksByProcess 255", "", ShowCommands.SW_HIDE);
                //RunCmd("RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 255");
                //RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 2
                //RunDll32.exe InetCpl.cpl,ClearMyTracksByProcess 1
                return true;
            }
            catch { return false; }
        }

    }
}

热点排行