如何通过程序获取Firefox history.sqlite文件的路径

本文关键字:sqlite 文件 路径 history Firefox 何通过 程序 获取 | 更新日期: 2023-09-27 18:28:31

firefox历史文件的路径包含一个配置文件编号如何在C#中动态获取该编号

C: ''Users''''AppData''Roaming''Mozilla''Firefox''Profiles''.default''formhistory.sqlite

如何通过程序获取Firefox history.sqlite文件的路径

您需要读取profiles.ini文件并捕获默认的配置文件

using System;
using System.Linq;
using System.IO;
namespace Firefox
{
    class Reader
    {
        public static string ReadFirefoxProfile()
        {
            string apppath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
            string mozilla = System.IO.Path.Combine(apppath, "Mozilla");
            bool exist = System.IO.Directory.Exists(mozilla);
            if (exist)
            {
                string firefox = System.IO.Path.Combine(mozilla, "firefox");
                if (System.IO.Directory.Exists(firefox))
                {
                    string prof_file = System.IO.Path.Combine(firefox, "profiles.ini");
                    bool file_exist = System.IO.File.Exists(prof_file);
                    if (file_exist)
                    {
                        StreamReader rdr = new StreamReader(prof_file);
                        string resp = rdr.ReadToEnd();
                        string[] lines = resp.Split(new string[] { "'r'n" }, StringSplitOptions.None);
                        string location = lines.First(x => x.Contains("Path=")).Split(new string[] { "=" }, StringSplitOptions.None)[1];
                        string prof_dir = System.IO.Path.Combine(firefox, location);
                        return prof_dir;
                    }
                }
            }
            return "";
        }
    }
}

您可以读取以下ini文件,该文件包含每个firefoxprofile的概要文件名:

"C:'Users'Username'AppData'Roaming'Mozilla'Firefox'profiles.ini"

单击Windows"开始"按钮,然后在"开始"菜单底部的"搜索"框中键入%APPDATA%'Mozilla'Firefox'Profiles',而不按Enter键。配置文件列表将显示在"开始"菜单的顶部
单击名称中带有"default"的配置文件,在窗口中打开它。