最近、私は Windows アプリケーションに興味を持ち、現在 Windows アプリケーションに基づいたプログラミングを行っています。
現在、すべての主要なブラウザー (つまり、chrome、firefox、safari、opera、ie) の履歴を削除できる Windows (デスクトップ) アプリケーションを作成することを考えています。その中で、クロムとファイアフォックスに重点を置いています。次のコードを使用して、Windows os に組み込まれている機能により、IE のブラウザー履歴を削除するプロセスを達成しました。
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();
そして、それはうまくいきます。今、他のブラウザに来ています。
多くの研究の後、私はさまざまなことを発見しました。
- 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。
上記の特定のフォルダーの内容を削除するだけで、すべてのブラウザーのすべての履歴を削除できる簡単なコードを作成しました。
そして、グローバルに考えている間、私は静かないくつかの問題に立ち往生しています。
すべての PC で、フォルダーの場所は同じ場所ではありません。例: 別の PC に Appdata フォルダーがありませんでした。そのため、アプリケーションを他のシステムで動作させることができませんでした。
PC が管理者によってログインされている場合、Appdata フォルダーを見つけることも困難です。
ユーザーが Opera や Safari などのポータブル ブラウザを使用している場合、履歴はどこに保存されますか?
これらの問題を克服するために、私は別の方法を考えていました。しかし、何をフォローすればよいかわかりません。
CC Cleaner は保存場所に関係なくすべての閲覧履歴を削除することを発見しました。CC Cleaner はどのようにそれを行うのですか? システムレジストリを使用して保存された履歴の場所を見つけることはできますか?
または、すべての閲覧履歴を消去するより良い方法はありますか?
要約すると、閲覧履歴を削除するために appdata フォルダーにアクセスしたくありません。他の代替手段はありますか?
サンプルコード/リンクは役に立ちます。
ありがとう。