{S0}简介
这是一个小程序,它可以帮助你看到你您的Internet Explorer店。此外,它可以让你删除一些文件。背景
为什么选择这个项目? Internet Explorer允许你删除它的高速缓存,在浏览器的历史和你的cookies。因此,出于什么原因,你应该需要这个程序?
好了,不幸的是,提到删去只有一半的真理。事实上,在Internet Explorer中删除您的高速缓存意味着,只有你的缓存文件将被删除。这些文件是在用户目录下.. \ Temporary Internet Files文件\ Content.IE5子目录中,有像quot等有趣的名字; 09WJE130quot;
,但还有另外一个文件,其中包含所有您访问互联网上的联系,它们存储很长很长的时间:"index.datquot;
这个文件通常有一些MB的大小。如果用文本编辑器打开它,然后向下滚动,你会发现一种可读的形式上百个链接。 :这个文件将永远不会被删除的Internet Explorer
所以我写了这个方案透露,关于您的浏览器存储。我想给你删除这些烦人的文件的可能性。使用代码
正如你可以看到在上面的图片,主程序包含六个TabPages的TabControl。每个TabPages让您浏览器的文件管理的特殊组成部分。
所以让我们从的TabPage的浏览器的网址历史,看来后程序开始
背景:。如果你将删除在Internet Explorer浏览器的历史,所有的以前的访问在您的浏览器的下拉列表中的链接会消失开始。所有这些环节都存储在注册表下quot; HKEY_CURRENT_USER \ SOFTWARE \ MICROSOFT \的Internet Explorer \ TypedURLsquot;和删除后,所有的键和值都不见了。但有时,它是非常有用的不删除它们,或存储在自己的名单,他们重用他们(OK,有一个我的最爱,我知道...).因此,我已经介绍了两份清单:实际的浏览器的历史和文件,这店我个人的名单。以上
内的TabPage的功能允许你删除浏览器的历史部分,存储在您的个人列表中的某些环节或从您的个人列表的history.nbsp恢复联系,你可以在下面的seenbsp;的功能,这从注册表中获取TypedURLs,并将它们存储在ListView。
{C}// registry branch for typed URLs (browser history)
public const string REG_URL = "SOFTWARE\\MICROSOFT\\INTERNET EXPLORER\\TYPEDURLS";
// registry branch for Internet Explorer
public const string REG_URL_SHORT = "SOFTWARE\\MICROSOFT\\INTERNET EXPLORER";
// Holds all values (URLs) from the registry browser's history
public static SortedList<int, histlink> historylinks = new SortedList<int, histlink>();
/// <summary>
/// Gets all the URL links from the registry and stores them in the
/// SortedList historylinks.
/// </summary>
public void GetHistory()
{
historylinks.Clear();
using (RegistryKey tempKey = Registry.CurrentUser.OpenSubKey(REG_URL))
{
if (tempKey == null)
{
// try to set the registry entry
using (RegistryKey tempKeyShort =
Registry.CurrentUser.OpenSubKey(REG_URL_SHORT, true))
{
if (tempKeyShort == null)
{
System.Windows.Forms.MessageBox.Show(
"The registry entry for " + REG_URL_SHORT + " does not exist!",
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
else
{
tempKeyShort.CreateSubKey("TypedURLs",
RegistryKeyPermissionCheck.ReadWriteSubTree);
}
} // using
} // if
} // using
// try it again
using (RegistryKey tempKey = Registry.CurrentUser.OpenSubKey(REG_URL))
{
if (tempKey == null)
{
System.Windows.Forms.MessageBox.Show(
"The registry entry for " + REG_URL + " does not exist!",
"Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
} // if
// get all keys
string[] vals = tempKey.GetValueNames();
int itemcounter = 0;
foreach (string url in vals)
{
object keyValue = tempKey.GetValue(url);
if (keyValue != null)
{
histlink hl = new histlink();
string entry = keyValue.ToString();
if (entry.Length != 0)
{
itemcounter++;
hl.Entry = entry;
hl.URL = url;
historylinks.Add(itemcounter, hl);
} // if
} // if
} // foreach
} // using
} // GetHistory
第二个TabPage的缓存显示浏览器的缓存。一方面,有如上所述,例如大量的缓存文件30667 MB 7991缓存文件。您可以通过按下按钮quot中删除;删除缓存filesquot;另一方面,你可以有一些洞察到quot; index.datquot;按";显示Index.datquot。由于这个文件是由许多进程锁定,这是不容易将其删除。所以,我实现了一个功能quot; DeleteCacheIndexDatquot;,这标志着该文件被删除重新启动(按钮"上rebootquot删除;)。这个函数是一个包装MoveFileEx:// delete file on reboot
[System.Runtime.InteropServices.DllImport("kernel32.dll")]
private static extern bool MoveFileEx(string lpExistingFileName,
string lpNewFileName, int dwFlags);
const int MOVEFILE_DELAY_UNTIL_REBOOT = 0x00000004;
MoveFileEx(fileName, null, MOVEFILE_DELAY_UNTIL_REBOOT);
您可以存储在您的个人列表中的一些环节。要做到这一点,选择的联系,并按下"储存selectedquot;较低的ListView的TabPage quot;浏览器的网址historyquot;,其中包含您的个人联系,会立即更新。
第三TabPage的历史(自动填充)显示浏览器的历史,这是在quot夫妇存储; index.datquot;文件在您的quot;本地设置\ \ History.IE5quot;目录和子目录。这些目录中的链接是负责在浏览器的下拉列表自动填充机制。这些文件(旧的),有些可以立即被删除,该有的都有quot删除; MoveFileExquot;使用按钮quot;显示historyquot;和quot;上删除rebootquot;观看和删除的链接
还可以,如上所述,存储一些链接到您的个人网址列表。
第四TabPage的饼干显示您的Cookie。它们都存储在一个文件中的quot; index.datquot;你quot; Cookiesquot;目录,并作为单个TXT文件,其中每一个cookie。同样,quot; index.datquot;只能在重新启动时被删除,但quot;。txtquot;可以删除cookie文件逐个。如果按"显示的cookie filesquot;,饼干和三线将会显示在ListView。第三行包含cookie的URL。使用按钮quot;上rebootquot删除;删除cookie的Index.dat文件
再次,在这里你可以超越一些链接到您的个人网址列表。
第五TabPage的最新名单显示您最近使用的文件列表。这些都不是特定的浏览器的链接,但他们 - 有时 - 太烦人。您可以选择和紧迫quot摆脱他们(或部分);删除selectedquot。顺便说一句:这些链接在你的quot; Recentquot;目录和后缀quot; lnkquot;{S1}
删除第六TabPage的所有功能,删除所有的东西,一气呵成。通过取消一些项目,可以减少整体删除。删除进度显示一个进度条。一些代码备注
不要有一个大文件中的所有代码,我已经划分成几部分,这意味着每一个TabPage的有它自己的源文件。你可以很容易辨别的部分,因为它们有相同的名称作为TabPages。所有这些源文件的类主要的部分:public partial class Main : Form
该方案已经过测试,在微软XP与Internet Explorer 6.0和7.0和Vista家庭高级使用Internet Explorer 7.0。我已经开发了与Visual Studio 2005的解决方案,但它似乎与Visual Studio 2008以及。
展望 - 做什么:
这将是很好,如果有人可以帮我证明文件,被几个进程锁定,可以立即删除。这应该做的,尤其是对index.dat文件,以避免在重新启动时删除。历史3月3日,2009年 - 第一版本