首页 > 系统相关 >C# 控制台应用windows修改host文件

C# 控制台应用windows修改host文件

时间:2023-04-11 16:44:19浏览次数:34  
标签:Console string filePath C# IP windows host Address hostsPath

配置文件修改

App.config部分主要是IP与地址

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
  <appSettings>    
    <add key="IP" value="192.168.16.105"/>
    <add key="Address" value="www.jymfxy2.vip"/>
  </appSettings>
</configuration>

代码部分

Program

 // IP
            string IP = ConfigurationSettings.AppSettings["IP"];
            // 地址
            string Address = ConfigurationSettings.AppSettings["Address"];

            // 获取hosts文件路径
            string hostsPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"drivers\etc\hosts");

            //删除掉之前的
            string filePath = hostsPath;
            string[] lines = File.ReadAllLines(filePath);
            string[] filteredLines = lines.Where(line => !line.Contains(Address)).ToArray();
            File.WriteAllLines(filePath, filteredLines);

            // 打开文件并写入新的地址信息
            using (StreamWriter writer = new StreamWriter(hostsPath, true))
            {
                writer.WriteLine($"{IP} {Address}"); // 添加新的地址信息
            }

            // 读取文件并显示内容
            using (StreamReader reader = new StreamReader(hostsPath))
            {
                string content = reader.ReadToEnd();
                Console.WriteLine(content);
            }

            Console.WriteLine("注入修改完成!");
            // 等待消息
            Console.ReadLine();

调试运行会提示权限,写好后直接生成,然后去debug里面寻找应用----右键-管理员的权限打开即可

标签:Console,string,filePath,C#,IP,windows,host,Address,hostsPath
From: https://www.cnblogs.com/flydmxy/p/17306742.html

相关文章

  • cmake学习
    -DCMAKE_BUILD_TYPE=Debug和Release有什么区别-DCMAKE_BUILD_TYPE是用于指定CMake构建类型的CMake变量。它有两个常见的值,即"Debug"和"Release",它们分别用于在构建C++/C项目时指定不同的构建类型。区别如下:Debug构建类型:Debug构建类型用于在开发阶段进行调试和测......
  • ThreadLocal原理探究
    四大引用是什么,分别有什么特点:1强引用、软引用、弱引用、虚引用强引用:发生gc的时候,只要对象还有引用,就不会被回收软引用:发生gc的时候,内存够用就不会回收,内存不够时,就会回收。可以及时的避免oom。Map<String,SoftReference<BitMap>>imageCache=newHashMap<Str......
  • 使用navigator.geolocation解决h5公众号定位不准确的问题
    封装js(utils/geolocation.min.js):window.qq=window.qq||{},qq.maps=qq.maps||{},window.soso||(window.soso=qq),soso.maps||(soso.maps=qq.maps),qq.maps.Geolocation=function(){"usestrict";vare=[],t=null,o=0,n="_geoIframe_"+Math.ceil(1e7*Mat......
  • docker基础
    docker介绍什么是虚拟化?在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现......
  • EasyCVR平台基于GB28181协议的语音对讲配置操作教程
    EasyCVR基于云边端协同,具有强大的数据接入、处理及分发能力,平台可支持海量视频的轻量化接入与汇聚管理,可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、平台级联等功能。其中,语音对讲功能在视频监控场景中具有......
  • EasyCVR平台如何正确配置设备移动侦测告警信息的上传?
    EasyCVR视频融合平台基于云边端协同架构,支持海量视频汇聚管理,平台融合性强、拓展灵活、视频能力丰富,具体包括:视频监控直播、轮播、录像、视频转码、云存储、检索与回看、告警上报、电子地图、云台控制、语音对讲、集群、级联共享等。用户在现场部署了EasyCVR,需要将设备的移动侦测告......
  • ABC216G
    将区间按照右端点排序,贪心的往最右边填\(1\),不难发现这样一定是正确的。感性理解一下就是越往右的位置对于后面的区间贡献越大。而且每个点最多只会被放置一个\(1\),所以我们可以暴力的找到下一个可以填的位置,并填入\(1\),可以使用线段树维护,复杂度是\(\mathcal{O}(n\logn)\)......
  • 哪吒探针 - Windows 和Linux端agent安装(详细注意版)
    一、Windows端agent安装配置环境准备环境:Windows服务器软件:哪吒探针点击下载、nssm点击下载(探针agent和nssm都要下载准备好)设置环境变量下载软件后,解压到任意位置,然后按win+R打开运行窗口,输入sysdm.cpl打开系统属性–>高级–>环境变量–>系统变量–>Path在最后把......
  • docker 容器的数据卷
    一Docker数据卷简介1.1为什么用数据卷•宿主机无法直接访问容器中的文件•容器中的文件没有持久化,导致容器删除后,文件数据也随之消失•容器之间也无法直接访问互相的文件为解决这些问题,docker加入了数据卷(volumes)机制,能很好解决上面问题,以实现:•容器与主机之间、......
  • 如何隐藏一个元素?&&css中出现了两个一样的类定义,如何避免冲突?
    1.如何隐藏一个元素?1.使用display属性:设置元素的display属性为none,这样元素在页面上不会占用任何空间,同时也不会对其他元素造成影响2.使用visibility属性:设置元素的visbility属性为hidden,这样元素在页面上不可见,但仍然占用空间3.使用opacity属性:设置元素的opacity属性为0,这样元......