如何在 C# 上替换主机文件
Posted
技术标签:
【中文标题】如何在 C# 上替换主机文件【英文标题】:How to replace the hosts file on C# 【发布时间】:2017-07-25 14:03:57 【问题描述】:我只想知道如何将用户的主机文件完全替换为另一个? 注意:我想只给用户我的 .exe 编译文件(附有我自己的 hosts 文件),在运行 exe 文件后,用户的 hosts 文件应该替换为我自己附加到我的 exe 文件的 hosts 文件。
【问题讨论】:
【参考方案1】:简单的方法,你可以使用 IO 库。
string path = "system32\\drivers\\etc\\hosts";
string hostfile = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows), path);
const string checkIP = "127.0.0.1 localhost";
if (!File.ReadAllLines(hostfile).Contains(checkIP))
File.AppendAllLines(hostfile, new string[] checkIP);
别忘了,你的程序必须以管理员权限运行,否则你会得到一个UnauthorizedAccessException异常。
【讨论】:
我认为这会在用户的主机文件上“写入”“127.0.0.1 localhost”。我不想编辑修改文件。正如我所说,我想完全以上是关于如何在 C# 上替换主机文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中使用 Regex 将 [number] 替换为 number - 1?