예제 #1
0
 //Advances the enumerator to the next item of the url history cache.
 /// <summary>
 /// Advances the enumerator to the next item of the url history cache.
 /// </summary>
 /// <returns>true if the enumerator was successfully advanced to the next element;
 ///  false if the enumerator has passed the end of the url history cache.
 ///  </returns>
 public bool MoveNext()
 {
     staturl = new STATURL();
     enumrator.Next(1, ref staturl, out index);
     if (index == 0)
         return false;
     else
         return true;
 }
예제 #2
0
 /// <summary>
 /// Advances the enumerator to the next item of the url history cache.
 /// </summary>
 /// <returns>true if the enumerator was successfully advanced to the next element;
 ///  false if the enumerator has passed the end of the url history cache.
 ///  </returns>
 public bool MoveNext()
 {
     _staturl = new STATURL();
     _enumerator.Next(1, ref _staturl, out _index);
     if (_index == 0)
     {
         return(false);
     }
     return(true);
 }
예제 #3
0
 //Advances the enumerator to the next item of the url history cache.
 /// <summary>
 /// Advances the enumerator to the next item of the url history cache.
 /// </summary>
 /// <returns>true if the enumerator was successfully advanced to the next element;
 ///  false if the enumerator has passed the end of the url history cache.
 ///  </returns>
 public bool MoveNext()
 {
     staturl = new STATURL();
     enumrator.Next(1, ref staturl, out index);
     if (index == 0)
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
예제 #4
0
 public void GetUrlHistory(IList list)
 {
     while (true)
     {
         _staturl = new Structures.STATURL();
         _enumerator.Next(1, ref _staturl, out _index);
         if (_index == 0)
         {
             _enumerator.Reset();
             return;
         }
         list.Add(_staturl);
     }
 }
예제 #5
0
            /// <summary>
            /// Advances the enumerator to the next item of the url history cache.
            /// </summary>
            /// <returns>true if the enumerator was successfully advanced to the next element;
            ///  false if the enumerator has passed the end of the url history cache.
            ///  </returns>
            public bool MoveNext()
            {
                m_statUrl = new StatUrl();

                m_enumrator.Next(1, ref m_statUrl, out m_index);
                if (m_index == 0)
                {
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
예제 #6
0
        private void GetHistory()
        {
            IUrlHistoryStg2 _UrlHistoryStg2 = (IUrlHistoryStg2) new UrlHistory();
            IEnumSTATURL    _EnumSTATURL    = _UrlHistoryStg2.EnumUrls();
            STATURL         _STATURL;
            uint            _Fectched;
            DateTime        Datetime;
            int             count = 0;

            FileStream   NoteFile  = new FileStream("C:\\Users\\oceanier\\Desktop\\BrowserHistory.txt", FileMode.Create, FileAccess.Write);//创建写入文件
            StreamWriter WriteNote = new StreamWriter(NoteFile);

            WriteNote.WriteLine("序号\t访问时间\t\t网址\n");
            while (_EnumSTATURL.Next(1, out _STATURL, out _Fectched) == 0)
            {
                if (_STATURL.pwcsUrl.Substring(0, 4) == "http" && _STATURL.pwcsUrl.Length <= 100)
                {
                    count   += 1;
                    Datetime = FileTimeToDatetime(_STATURL.ftLastVisited);
                    richTextBox1.AppendText(string.Format("{0}\r\n{1}\r\n{2}\r\n", count, Datetime, _STATURL.pwcsUrl));
                    WriteNote.WriteLine(count + "\t" + Datetime + "\t" + _STATURL.pwcsUrl + "\n");
                }
            }
            MessageBox.Show("成功获取浏览器浏览记录!\n可在桌面txt文档中查看。", "提示");
        }
예제 #7
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public static List <UrlData> GetUrlData()
        {
            ////定义注册表顶级节点 其命名空间是using Microsoft.Win32;
            //RegistryKey historykey;
            ////检索当前用户CurrentUser子项Software\\Microsoft\\Internet Explorer\\typedURLs
            //historykey = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Internet Explorer\\typedURLs", true);
            //if (historykey != null)
            //{
            //    //获取检索的所有值
            //    String[] names = historykey.GetValueNames();
            //    foreach (String str in names)
            //    {
            //        txtUrl.Items.Add(historykey.GetValue(str).ToString());
            //    }
            //}

            var             STATURL         = new List <UrlData>();
            IUrlHistoryStg2 vUrlHistoryStg2 = (IUrlHistoryStg2) new UrlHistory();
            IEnumSTATURL    vEnumSTATURL    = vUrlHistoryStg2.EnumUrls();
            STATURL         vSTATURL;
            uint            vFectched;

            while (vEnumSTATURL.Next(1, out vSTATURL, out vFectched) == 0)
            {
                STATURL.Add(new UrlData()
                {
                    Name = vSTATURL.pwcsTitle,
                    Url  = vSTATURL.pwcsUrl,
                });
                //richTextBox1.AppendText(string.Format("{0}\r\n{1}\r\n", vSTATURL.pwcsTitle, vSTATURL.pwcsUrl));
                //txtUrl.Items.Add(string.Format("{0}\r\n{1}\r\n", vSTATURL.pwcsTitle, vSTATURL.pwcsUrl));
            }

            return(STATURL);
        }
예제 #8
0
        //浏览记录,先读IE的然后读当前的
        private void viewHistory_Load(object sender, EventArgs e)
        {
            IUrlHistoryStg2 vUrlHistoryStg2 = (IUrlHistoryStg2) new UrlHistory();
            IEnumSTATURL    vEnumSTATURL    = vUrlHistoryStg2.EnumUrls();
            STATURL         vSTATURL;
            uint            vFectched;

            while (vEnumSTATURL.Next(1, out vSTATURL, out vFectched) == 0)
            {
                listBox1.Items.Add(string.Format("{0}\r\n{1}\r\n", vSTATURL.pwcsTitle, vSTATURL.pwcsUrl));
            }
        }
예제 #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            IUrlHistoryStg2 vUrlHistoryStg2 = (IUrlHistoryStg2) new UrlHistory();
            IEnumSTATURL    vEnumSTATURL    = vUrlHistoryStg2.EnumUrls();
            STATURL         vSTATURL;
            uint            vFectched;

            while (vEnumSTATURL.Next(1, out vSTATURL, out vFectched) == 0)
            {
                //richTextBox1.AppendText(string.Format("{0}:{1}\r\n", vSTATURL.pwcsTitle, vSTATURL.pwcsUrl));
            }
            //vUrlHistoryStg2.ClearHistory();//清除历史
        }
예제 #10
0
        /// <summary>
        /// 获取IE最近访问记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            //**********************************************************************
            // 第二种方法参照:http://blog.sina.com.cn/s/blog_589d32f5010007xf.html
            // 参考资料:
            // http://social.msdn.microsoft.com/Forums/windows/zh-CN/89cfff57-8f84-4b9d-a7a8-bc3aad6e0196/browsing-history
            // http://bbs.csdn.net/topics/290070046
            // http://hi.baidu.com/wayright/item/8af0f88a59aca157e63d19f2
            // http://stackoverflow.com/questions/4305757/iurlhistorystg2clearhistory-does-not-work-from-a-service
            //************************************************************************

            try
            {
                //清空listBox
                listBox1.Items.Clear();

                //定义变量
                IUrlHistoryStg2 vUrlHistoryStg2 = (IUrlHistoryStg2) new UrlHistory();
                IEnumSTATURL    vEnumSTATURL    = vUrlHistoryStg2.EnumUrls();
                STATURL         vSTATURL;
                uint            vFectched;
                Int64           number = 1;  //记录URL标号

                //循环获取IE浏览器记录
                while (vEnumSTATURL.Next(1, out vSTATURL, out vFectched) == 0)
                {
                    //添加网址的标题
                    if (vSTATURL.pwcsTitle == null)
                    {
                        listBox1.Items.Add(string.Format("第{0}条 无标题", number));
                    }
                    else
                    {
                        listBox1.Items.Add(string.Format("第{0}条 {1}", number, vSTATURL.pwcsTitle));
                    }
                    //添加URL
                    listBox1.Items.Add(string.Format("{0}", vSTATURL.pwcsUrl));
                    //换行
                    listBox1.Items.Add(" ");
                    number++;
                }
                if (number == 1)
                {
                    MessageBox.Show(this, "IE历史记录已经删空", "提示对话框", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception msg)  //异常处理
            {
                MessageBox.Show(msg.Message);
            }
        }
예제 #11
0
        static void Main(string[] args)
        {
            IUrlHistoryStg2 uhs2     = (IUrlHistoryStg2) new UrlHistory();
            IEnumSTATURL    estaturl = uhs2.EnumUrls();
            STATURL         staturl;
            uint            fetched;

            while (0 == estaturl.Next(1, out staturl, out fetched))
            {
                Console.WriteLine(staturl.pwcsUrl);
            }

            Console.ReadLine();
        }
예제 #12
0
        internal BrowserHistory[] GetHistory_IE()
        {
            List <BrowserHistory> history         = new List <BrowserHistory>();
            IUrlHistoryStg2       vUrlHistoryStg2 = (IUrlHistoryStg2) new UrlHistory();
            IEnumSTATURL          vEnumSTATURL    = vUrlHistoryStg2.EnumUrls();
            STATURL vSTATURL;
            uint    vFectched;

            while (vEnumSTATURL.Next(1, out vSTATURL, out vFectched) == 0)
            {
                var bh = new BrowserHistory()
                {
                    User      = "******",
                    Browser   = "IE",
                    Url       = vSTATURL.pwcsUrl,
                    Timestamp = FromFileTime(vSTATURL.ftLastVisited)
                };
                history.Add(bh);
            }
            //vUrlHistoryStg2.ClearHistory();//Clear the history
            return(history.ToArray());
        }