0

最近我对 Windows 应用程序产生了一些兴趣,我目前正在做一些基于 Windows 应用程序的编程。

现在我正在考虑创建一个 Windows(桌面)应用程序,使用它我可以删除所有主要浏览器的历史记录(即 chrome、firefox、safari、opera、ie)。其中我强调 chrome 和 firefox。我已经使用以下代码实现了删除 IE 浏览器历史记录的过程,因为它在 windows os 中具有内置功能

var p = new Process();
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.FileName = "rundll32.exe";
p.StartInfo.Arguments = "InetCpl.cpl,ClearMyTracksByProcess 1";
p.Start();
p.WaitForExit();

它工作正常。现在转到其他浏览器。

经过大量研究,我发现了各种各样的东西。

  1. Chrome 将数据保存在 SqlLite 数据库中。因此,通过访问数据库,可以删除详细信息。我已经根据此链接的想法进行了研究

以编程方式访问 Google chrome 历史记录

我还了解到存储浏览器详细信息的各个地方是:

对于 Chrome:C:\Users\\AppData\Local\Google\Chrome\User Data

对于 FireFox:C:\Users\\AppData\Local\Mozilla\Firefox\Profiles 和 C:\Users\\AppData\Roaming\Mozilla\Firefox\Profiles

对于 Opera:C:\Users\\AppData\Local\Opera\Opera 和 C:\Users\\AppData\Roaming\Opera\Opera

对于 Safari:C:\Users\\AppData\Local\Apple Computer\Safari 和 C:\Users\\AppData\Roaming\Apple Computer\Safari。

现在我已经完成了一个简单的代码,我可以通过删除上述特定文件夹的内容来删除所有浏览器的所有历史记录。

在全球思考的同时,我遇到了很少的问题。

  1. 在所有 PC 的文件夹位置都不在同一个地方。例如:在另一台 PC 中,缺少 Appdata 文件夹。所以我无法让我的应用程序在其他系统上运行。

  2. 如果管理员登录了 PC,那么也很难找到 Appdata 文件夹。

  3. 如果用户使用 Opera 或 Safari 等便携式浏览器,历史记录会保存在哪里?

所以克服这些问题,我正在考虑一种不同的方式。但我不确定我应该遵循什么。?

我发现 CC Cleaner 会删除所有浏览历史记录,无论它们保存在什么位置。CC Cleaner 是如何做到的?是否可以使用系统注册表找到存储历史记录的位置?

或者有没有更好的方法来清除所有的浏览历史?

总而言之,我不想访问 appdata 文件夹来删除浏览历史记录。还有其他选择吗?

任何示例代码/链接都会有所帮助。

谢谢。

4

1 回答 1

1

有一些方法可以阻止用户返回一个页面,但是完全清除你的整个浏览历史是不可能的。更不用说删除任何内容了。如果要删除,则应访问 AppData 并删除包含历史记录的文件夹。

于 2012-09-17T11:40:42.787 回答