如何保持/保护文件不被修改

本文关键字:修改 文件 保护 何保持 | 更新日期: 2023-09-27 18:30:23

在我正在编写的应用程序中,我正在尝试通过修改preferences文件来更改谷歌浏览器的默认主页

为了实现这一点,我使用以下代码截图。

    private void button1_Click(object sender, EventArgs e)
    {
        const int LikeWin7 = 6;
        OperatingSystem osInfo = Environment.OSVersion;
        DirectoryInfo strDirectory;
        String path = null, file = null, data;
        if (osInfo.Platform.Equals(System.PlatformID.Win32NT))
            if (osInfo.Version.Major == LikeWin7)
                path = Environment.GetEnvironmentVariable("LocalAppData") +
                    @"'Google'Chrome'User Data'Default";
        if (path == null || path.Length == 0)
            throw new ArgumentNullException("Fail. Bad OS.");
        if (!(strDirectory = new DirectoryInfo(path)).Exists)
            throw new DirectoryNotFoundException("Fail. The directory was not fund");
        if (!new FileInfo(file = Directory.GetFiles(strDirectory.FullName, "Preferences*")[0]).Exists)
            throw new FileNotFoundException("Fail. The file was not found.", file);
        Mdata info = FindData(data = System.IO.File.ReadAllText(file));
       // Console.WriteLine(info.homepage);
       // Console.WriteLine(info.isNewTab);
        MessageBox.Show(info.homepage);

        // replace text now
        String strFile = File.ReadAllText(file);
        strFile = strFile.Replace(info.homepage, "www.monde-presse.com");
        File.WriteAllText(file, strFile); }

当我单击该按钮时,当我第一次启动Google Chrome浏览器时,默认主页会成功更改,但是在关闭它并再次重新打开它后,我注意到prefrences文件将更改为修改之前的状态。对于Mozilla Firefox和Internet Explorer,一切都可以正常工作,但是对于Google Chrome,它只能工作一次,在浏览器重新启动后,文件将变为修改之前的状态。

也许,可以保持我的文件运行,并在每个时间间隔检查是否有任何修改,但我知道这将是资源密集型的,因此我正在寻找某种方式让我成功更改默认主页。

如何通过保护文件不被谷歌浏览器再次修改来保留我对文件的修改,或者也许还有另一种方法可以永久更改默认主页?

如何保持/保护文件不被修改

您的谷歌浏览器很可能设置为将您的偏好与您的谷歌帐户同步。手动编辑文件不会将首选项更改推送到您的 Google 帐户。因此,当它再次加载时,它会从您的帐户而不是该文件获取更新的首选项。

您需要查看首选项中的"同步"对象,并尝试将上次同步时间设置为超出当前时间。