怎么样删除浏览器上的访问记录(C得到及清空浏览器记录)

下面是一个用C#操作用户浏览器记录的方法,包括得到这些记录,及清空它们的方法

using System.Collections;using System.Runtime.InteropServices;using System.Runtime.InteropServices.ComTypes;namespace WinFormsApp1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } IEHistory ie = new IEHistory(); private void button1_Click(object sender, EventArgs e) { //得到记录 string

下面是一个用C#操作用户浏览器记录的方法,包括得到这些记录,及清空它们的方法

using System.Collections;using System.Runtime.InteropServices;using System.Runtime.InteropServices.ComTypes;namespace WinFormsApp1{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } IEHistory ie = new IEHistory(); private void button1_Click(object sender, EventArgs e) { //得到记录 string[] r = ie.GetIEHistory(); MessageBox.Show(string.Join(',', r)); } private void button2_Click(object sender, EventArgs e) { //清空 string r = ie.ClearIEHistory(); MessageBox.Show(r); } /// <summary> /// 浏览器历史记录 /// </summary> public class IEHistory { /// <summary> /// 清空浏览历史记录 /// </summary> public string ClearIEHistory() { try { IUrlHistoryStg2 vUrlHistoryStg2 = (IUrlHistoryStg2)new UrlHistory(); vUrlHistoryStg2.ClearHistory(); return "OK"; } catch (Exception ErrMsg) { return ErrMsg.ToString(); } } /// <summary> /// 得到浏览历史记录 /// </summary> /// <returns></returns> public string[] GetIEHistory() { ArrayList al = new ArrayList(); IUrlHistoryStg2 vUrlHistoryStg2 = (IUrlHistoryStg2)new UrlHistory(); IEnumSTATURL vEnumSTATURL = vUrlHistoryStg2.EnumUrls(); STATURL vSTATURL; uint vFectched; while (vEnumSTATURL.Next(1, out vSTATURL, out vFectched) == 0) { string src = vSTATURL.pwcsUrl; al.Add(src); } return (string[])al.ToArray(typeof(string)); } #region 不需要改动 struct STATURL { public static uint SIZEOF_STATURL = (uint)Marshal.SizeOf(typeof(STATURL)); public uint cbSize; [MarshalAs(UnmanagedType.LPWStr)] public string pwcsUrl; [MarshalAs(UnmanagedType.LPWStr)] public string pwcsTitle; public FILETIME ftLastVisited, ftLastUpdated, ftExpires; public uint dwFlags; } [ComImport, Guid("3C374A42-BAE4-11CF-BF7D-00AA006946EE"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IEnumSTATURL { [PreserveSig] uint Next(uint celt, out STATURL rgelt, out uint pceltFetched); void Skip(uint celt); void Reset(); void Clone(out IEnumSTATURL ppenum); void SetFilter( [MarshalAs(UnmanagedType.LPWStr)] string poszFilter, uint dwFlags); } [ComImport, Guid("AFA0DC11-C313-11d0-831A-00C04FD5AE38"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IUrlHistoryStg2 { #region IUrlHistoryStg methods void AddUrl( [MarshalAs(UnmanagedType.LPWStr)] string pocsUrl, [MarshalAs(UnmanagedType.LPWStr)] string pocsTitle, uint dwFlags); void DeleteUrl( [MarshalAs(UnmanagedType.LPWStr)] string pocsUrl, uint dwFlags); void QueryUrl( [MarshalAs(UnmanagedType.LPWStr)] string pocsUrl, uint dwFlags, ref STATURL lpSTATURL); void BindToObject( [MarshalAs(UnmanagedType.LPWStr)] string pocsUrl, ref Guid riid, [MarshalAs(UnmanagedType.IUnknown)] out object ppvOut); IEnumSTATURL EnumUrls(); #endregion void AddUrlAndNotify( [MarshalAs(UnmanagedType.LPWStr)] string pocsUrl, [MarshalAs(UnmanagedType.LPWStr)] string pocsTitle, uint dwFlags, [MarshalAs(UnmanagedType.Bool)] bool fWriteHistory, [MarshalAs(UnmanagedType.IUnknown)] object /*IOleCommandTarget*/ poctNotify, [MarshalAs(UnmanagedType.IUnknown)] object punkISFolder); void ClearHistory(); } [ComImport, Guid("3C374A40-BAE4-11CF-BF7D-00AA006946EE")] class UrlHistory /* : IUrlHistoryStg[2] */ { } #endregion } }}注意:using System.Runtime.InteropServices;这个文件可能会提示下载新版本。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
IT百科

电脑卡顿应该怎么解决(电脑变得很卡要怎么解决)

2023-3-19 11:54:01

IT百科

笔记本的屏幕有哪几种(笔记本选购指南选择多大屏幕才适合你)

2023-3-19 12:19:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索