跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 技术专区
  4. 本社区终于可以向 @ChatGPT 提问了!

本社区终于可以向 @ChatGPT 提问了!

已定时 已固定 已锁定 已移动 技术专区
11.5k 帖子 326 发布者 49.5m 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • I ivan

    @ChatGPT 入站出站规则和指定应用通过Windows防火墙有什么区别,哪一个权限高

    ChatGPTC 离线
    ChatGPTC 离线
    ChatGPT
    写于 最后由 编辑
    #10123

    ivan 说:

    @ChatGPT 入站出站规则和指定应用通过Windows防火墙有什么区别,哪一个权限高

    入站出站规则和指定应用通过Windows防火墙的区别和权限如下:

    入站出站规则是Windows防火墙提供的一个功能,它用于控制计算机与外部网络之间的通信,只允许或禁止某些应用程序或服务从Internet或局域网中进入或离开计算机。通过设置入站出站规则,用户可以防止不受欢迎的访问,提高系统安全性。

    指定应用程序是Windows防火墙提供的另一个功能,它让用户能够为单个应用程序指定进出规则,以控制该应用程序的网络访问。

    区别:

    1. 入站出站规则是可同时应用于所有应用程序和服务,而指定应用程序功能是只能应用于单个应用程序。
    2. 入站出站规则控制所有访问,而指定应用程序只控制该应用程序在网络中的访问。
    3. 入站出站规则对于新的应用程序或服务可以自动阻止,而指定应用程序必须手动指定。
    4. 入站出站规则可以基于端口或协议进行阻止或允许,而指定的应用程序只能基于应用程序名称进行指定。

    权限高低:
    入站出站规则和指定应用程序都是使用Windows防火墙来控制网络访问权限。两种方法都有相同的权限,都可以有效控制计算机与外界的通信,从而提高系统的安全性。但是,入站出站规则的权限更高,因为它可以应用于所有应用程序和服务。

    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

    1 条回复 最后回复
    0
    • I 离线
      I 离线
      ivan
      🍌
      写于 最后由 编辑
      #10124

      @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

      ChatGPTC 1 条回复 最后回复
      0
      • I ivan

        @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

        ChatGPTC 离线
        ChatGPTC 离线
        ChatGPT
        写于 最后由 编辑
        #10125

        ivan 说:

        @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

        要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

        1. 打开控制面板,并选择“Windows Defender防火墙”选项。

        2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

        3. 点击“更改设置”按钮以启用更改。

        4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

        5. 选择需要允许的应用程序,并单击“添加”按钮。

        6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

        7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

        请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

        I 1 条回复 最后回复
        0
        • ChatGPTC ChatGPT

          ivan 说:

          @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

          要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

          1. 打开控制面板,并选择“Windows Defender防火墙”选项。

          2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

          3. 点击“更改设置”按钮以启用更改。

          4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

          5. 选择需要允许的应用程序,并单击“添加”按钮。

          6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

          7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

          请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

          I 离线
          I 离线
          ivan
          🍌
          写于 最后由 编辑
          #10126

          ChatGPT 说:

          ivan 说:

          @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

          要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

          1. 打开控制面板,并选择“Windows Defender防火墙”选项。

          2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

          3. 点击“更改设置”按钮以启用更改。

          4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

          5. 选择需要允许的应用程序,并单击“添加”按钮。

          6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

          7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

          请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

          @ChatGPT 用c#编写程序实现上述操作

          ChatGPTC 1 条回复 最后回复
          0
          • 香 离线
            香 离线
            香菜
            🍌
            写于 最后由 编辑
            #10127

            @ChatGPT java 循环对比两个list集合中id是否相等

            ChatGPTC 1 条回复 最后回复
            0
            • I ivan

              ChatGPT 说:

              ivan 说:

              @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

              要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

              1. 打开控制面板,并选择“Windows Defender防火墙”选项。

              2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

              3. 点击“更改设置”按钮以启用更改。

              4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

              5. 选择需要允许的应用程序,并单击“添加”按钮。

              6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

              7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

              请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

              @ChatGPT 用c#编写程序实现上述操作

              ChatGPTC 离线
              ChatGPTC 离线
              ChatGPT
              写于 最后由 编辑
              #10128

              ivan 说:

              ChatGPT 说:

              ivan 说:

              @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

              要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

              1. 打开控制面板,并选择“Windows Defender防火墙”选项。

              2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

              3. 点击“更改设置”按钮以启用更改。

              4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

              5. 选择需要允许的应用程序,并单击“添加”按钮。

              6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

              7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

              请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

              @ChatGPT 用c#编写程序实现上述操作

              以下是使用C#编写程序来实现允许应用通过Windows Defender防火墙进行通信的代码:

              using NetFwTypeLib;  //首先需要引入NetFwTypeLib命名空间
              
              public void AllowAppThroughFirewall(string appName, string appPath)
              {
                  Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                  INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
              
                  //获取当前配置文件的类型
                  Type tNetFwProfile = Type.GetTypeFromProgID("HNetCfg.FwProfile");
                  INetFwProfile fwProfile = (INetFwProfile)Activator.CreateInstance(tNetFwProfile);
              
                  try
                  {
                      //打开Windows Defender防火墙管理器
                      //1表示默认配置文件,0表示公共配置文件
                      bool isWindowsFirewallEnabled = fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE];
                      if (!isWindowsFirewallEnabled)
                      {
                          fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE] = true;
                      }
              
                      //将应用添加到防火墙例外列表
                      Type tNetFwAuthorizedApplication = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication");
                      INetFwAuthorizedApplication fwApp = (INetFwAuthorizedApplication)Activator.CreateInstance(tNetFwAuthorizedApplication);
                      
                      //设置应用程序名称,用于标识列表中的应用程序 
                      fwApp.Name = appName;  
              
                      //设置应用程序路径,用于防火墙检索应用程序 
                      fwApp.ProcessImageFileName = appPath;
                      
                      //添加新应用
                      fwApp.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL; 
                      fwApp.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY;
                      fwApp.Enabled = true;
                      
                      // 加入到防火墙公用应用列表(例:V2RayN)
                      fwPolicy2.Rules.Add(fwApp);
                  }
                  catch (Exception ex)
                  {
                      Console.WriteLine(ex.Message);
                  }
              }
              

              上述代码创建了一个名为“AllowAppThroughFirewall”的方法,该方法的参数为要允许通过Windows Defender防火墙通信的应用程序名称和应用程序路径。使用.NetFwTypeLib命名空间中的相关类和接口实现添加应用程序到防火墙例外列表,从而允许应用程序通过Windows Defender防火墙进行通信。在添加应用程序时,需要设置应用程序名称,路径,并启用应用程序。

              希望这个代码可以帮到你!

              帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

              I 1 条回复 最后回复
              0
              • 香 香菜

                @ChatGPT java 循环对比两个list集合中id是否相等

                ChatGPTC 离线
                ChatGPTC 离线
                ChatGPT
                写于 最后由 编辑
                #10129

                香菜 说:

                @ChatGPT java 循环对比两个list集合中id是否相等

                可以使用嵌套循环来实现比较两个List中的ID是否相等。具体代码如下:

                for (int i = 0; i < list1.size(); i++) {  // 循环第一个List
                    for (int j = 0; j < list2.size(); j++) {  // 循环第二个List
                        if (list1.get(i).getId() == list2.get(j).getId()) {  // 判断ID是否相等
                            System.out.println("ID相等:" + list1.get(i).getId());
                            // 如果ID相等,根据具体需求做相应的操作
                        }
                    }
                }
                

                其中 list1 和 list2 分别是两个需要比较的List集合,假设它们中都有一个 getId() 方法可以获得元素的ID。

                上述代码中的两个循环嵌套在一起,会对两个List中的所有元素进行两两比较,如果ID相等,则输出相应信息,并可以根据需要进行其他操作。

                帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                1 条回复 最后回复
                0
                • 1 离线
                  1 离线
                  17708116653
                  写于 最后由 编辑
                  #10130

                  66666

                  1 条回复 最后回复
                  0
                  • 1 离线
                    1 离线
                    17708116653
                    写于 最后由 编辑
                    #10131

                    请问A类私有地址一共有多少个?

                    1 条回复 最后回复
                    0
                    • ChatGPTC ChatGPT

                      ivan 说:

                      ChatGPT 说:

                      ivan 说:

                      @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

                      要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

                      1. 打开控制面板,并选择“Windows Defender防火墙”选项。

                      2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

                      3. 点击“更改设置”按钮以启用更改。

                      4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

                      5. 选择需要允许的应用程序,并单击“添加”按钮。

                      6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

                      7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

                      请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

                      @ChatGPT 用c#编写程序实现上述操作

                      以下是使用C#编写程序来实现允许应用通过Windows Defender防火墙进行通信的代码:

                      using NetFwTypeLib;  //首先需要引入NetFwTypeLib命名空间
                      
                      public void AllowAppThroughFirewall(string appName, string appPath)
                      {
                          Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                          INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
                      
                          //获取当前配置文件的类型
                          Type tNetFwProfile = Type.GetTypeFromProgID("HNetCfg.FwProfile");
                          INetFwProfile fwProfile = (INetFwProfile)Activator.CreateInstance(tNetFwProfile);
                      
                          try
                          {
                              //打开Windows Defender防火墙管理器
                              //1表示默认配置文件,0表示公共配置文件
                              bool isWindowsFirewallEnabled = fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE];
                              if (!isWindowsFirewallEnabled)
                              {
                                  fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE] = true;
                              }
                      
                              //将应用添加到防火墙例外列表
                              Type tNetFwAuthorizedApplication = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication");
                              INetFwAuthorizedApplication fwApp = (INetFwAuthorizedApplication)Activator.CreateInstance(tNetFwAuthorizedApplication);
                              
                              //设置应用程序名称,用于标识列表中的应用程序 
                              fwApp.Name = appName;  
                      
                              //设置应用程序路径,用于防火墙检索应用程序 
                              fwApp.ProcessImageFileName = appPath;
                              
                              //添加新应用
                              fwApp.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL; 
                              fwApp.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY;
                              fwApp.Enabled = true;
                              
                              // 加入到防火墙公用应用列表(例:V2RayN)
                              fwPolicy2.Rules.Add(fwApp);
                          }
                          catch (Exception ex)
                          {
                              Console.WriteLine(ex.Message);
                          }
                      }
                      

                      上述代码创建了一个名为“AllowAppThroughFirewall”的方法,该方法的参数为要允许通过Windows Defender防火墙通信的应用程序名称和应用程序路径。使用.NetFwTypeLib命名空间中的相关类和接口实现添加应用程序到防火墙例外列表,从而允许应用程序通过Windows Defender防火墙进行通信。在添加应用程序时,需要设置应用程序名称,路径,并启用应用程序。

                      希望这个代码可以帮到你!

                      I 离线
                      I 离线
                      ivan
                      🍌
                      写于 最后由 编辑
                      #10132

                      ChatGPT 说:

                      ivan 说:

                      ChatGPT 说:

                      ivan 说:

                      @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

                      要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

                      1. 打开控制面板,并选择“Windows Defender防火墙”选项。

                      2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

                      3. 点击“更改设置”按钮以启用更改。

                      4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

                      5. 选择需要允许的应用程序,并单击“添加”按钮。

                      6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

                      7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

                      请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

                      @ChatGPT 用c#编写程序实现上述操作

                      以下是使用C#编写程序来实现允许应用通过Windows Defender防火墙进行通信的代码:

                      using NetFwTypeLib;  //首先需要引入NetFwTypeLib命名空间
                      
                      public void AllowAppThroughFirewall(string appName, string appPath)
                      {
                          Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                          INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
                      
                          //获取当前配置文件的类型
                          Type tNetFwProfile = Type.GetTypeFromProgID("HNetCfg.FwProfile");
                          INetFwProfile fwProfile = (INetFwProfile)Activator.CreateInstance(tNetFwProfile);
                      
                          try
                          {
                              //打开Windows Defender防火墙管理器
                              //1表示默认配置文件,0表示公共配置文件
                              bool isWindowsFirewallEnabled = fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE];
                              if (!isWindowsFirewallEnabled)
                              {
                                  fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE] = true;
                              }
                      
                              //将应用添加到防火墙例外列表
                              Type tNetFwAuthorizedApplication = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication");
                              INetFwAuthorizedApplication fwApp = (INetFwAuthorizedApplication)Activator.CreateInstance(tNetFwAuthorizedApplication);
                              
                              //设置应用程序名称,用于标识列表中的应用程序 
                              fwApp.Name = appName;  
                      
                              //设置应用程序路径,用于防火墙检索应用程序 
                              fwApp.ProcessImageFileName = appPath;
                              
                              //添加新应用
                              fwApp.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL; 
                              fwApp.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY;
                              fwApp.Enabled = true;
                              
                              // 加入到防火墙公用应用列表(例:V2RayN)
                              fwPolicy2.Rules.Add(fwApp);
                          }
                          catch (Exception ex)
                          {
                              Console.WriteLine(ex.Message);
                          }
                      }
                      

                      上述代码创建了一个名为“AllowAppThroughFirewall”的方法,该方法的参数为要允许通过Windows Defender防火墙通信的应用程序名称和应用程序路径。使用.NetFwTypeLib命名空间中的相关类和接口实现添加应用程序到防火墙例外列表,从而允许应用程序通过Windows Defender防火墙进行通信。在添加应用程序时,需要设置应用程序名称,路径,并启用应用程序。

                      希望这个代码可以帮到你!

                      @ChatGPT 优化一下代码,当前有报错

                      ChatGPTC 1 条回复 最后回复
                      0
                      • I ivan

                        ChatGPT 说:

                        ivan 说:

                        ChatGPT 说:

                        ivan 说:

                        @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

                        要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

                        1. 打开控制面板,并选择“Windows Defender防火墙”选项。

                        2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

                        3. 点击“更改设置”按钮以启用更改。

                        4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

                        5. 选择需要允许的应用程序,并单击“添加”按钮。

                        6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

                        7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

                        请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

                        @ChatGPT 用c#编写程序实现上述操作

                        以下是使用C#编写程序来实现允许应用通过Windows Defender防火墙进行通信的代码:

                        using NetFwTypeLib;  //首先需要引入NetFwTypeLib命名空间
                        
                        public void AllowAppThroughFirewall(string appName, string appPath)
                        {
                            Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                            INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
                        
                            //获取当前配置文件的类型
                            Type tNetFwProfile = Type.GetTypeFromProgID("HNetCfg.FwProfile");
                            INetFwProfile fwProfile = (INetFwProfile)Activator.CreateInstance(tNetFwProfile);
                        
                            try
                            {
                                //打开Windows Defender防火墙管理器
                                //1表示默认配置文件,0表示公共配置文件
                                bool isWindowsFirewallEnabled = fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE];
                                if (!isWindowsFirewallEnabled)
                                {
                                    fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE] = true;
                                }
                        
                                //将应用添加到防火墙例外列表
                                Type tNetFwAuthorizedApplication = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication");
                                INetFwAuthorizedApplication fwApp = (INetFwAuthorizedApplication)Activator.CreateInstance(tNetFwAuthorizedApplication);
                                
                                //设置应用程序名称,用于标识列表中的应用程序 
                                fwApp.Name = appName;  
                        
                                //设置应用程序路径,用于防火墙检索应用程序 
                                fwApp.ProcessImageFileName = appPath;
                                
                                //添加新应用
                                fwApp.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL; 
                                fwApp.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY;
                                fwApp.Enabled = true;
                                
                                // 加入到防火墙公用应用列表(例:V2RayN)
                                fwPolicy2.Rules.Add(fwApp);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                        }
                        

                        上述代码创建了一个名为“AllowAppThroughFirewall”的方法,该方法的参数为要允许通过Windows Defender防火墙通信的应用程序名称和应用程序路径。使用.NetFwTypeLib命名空间中的相关类和接口实现添加应用程序到防火墙例外列表,从而允许应用程序通过Windows Defender防火墙进行通信。在添加应用程序时,需要设置应用程序名称,路径,并启用应用程序。

                        希望这个代码可以帮到你!

                        @ChatGPT 优化一下代码,当前有报错

                        ChatGPTC 离线
                        ChatGPTC 离线
                        ChatGPT
                        写于 最后由 编辑
                        #10133

                        ivan 说:

                        ChatGPT 说:

                        ivan 说:

                        ChatGPT 说:

                        ivan 说:

                        @ChatGPT 允许应用通过Windows Defender防火墙进行通信 使用方法

                        要允许应用通过Windows Defender防火墙进行通信,请按照以下步骤操作:

                        1. 打开控制面板,并选择“Windows Defender防火墙”选项。

                        2. 选择“允许一个应用或功能通过Windows Defender防火墙”。

                        3. 点击“更改设置”按钮以启用更改。

                        4. 如果您想允许一个应用程序通过防火墙,请选中“允许另一个应用程序”。

                        5. 选择需要允许的应用程序,并单击“添加”按钮。

                        6. 如果应用程序不在列表中,请单击“浏览”按钮以查找并添加它。

                        7. 最后,单击“确定”按钮以保存更改,并允许应用程序通过防火墙进行通信。

                        请注意,允许应用程序通过防火墙可能会降低系统安全性,并且应该仅在您信任该应用程序的情况下使用。

                        @ChatGPT 用c#编写程序实现上述操作

                        以下是使用C#编写程序来实现允许应用通过Windows Defender防火墙进行通信的代码:

                        using NetFwTypeLib;  //首先需要引入NetFwTypeLib命名空间
                        
                        public void AllowAppThroughFirewall(string appName, string appPath)
                        {
                            Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                            INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
                        
                            //获取当前配置文件的类型
                            Type tNetFwProfile = Type.GetTypeFromProgID("HNetCfg.FwProfile");
                            INetFwProfile fwProfile = (INetFwProfile)Activator.CreateInstance(tNetFwProfile);
                        
                            try
                            {
                                //打开Windows Defender防火墙管理器
                                //1表示默认配置文件,0表示公共配置文件
                                bool isWindowsFirewallEnabled = fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE];
                                if (!isWindowsFirewallEnabled)
                                {
                                    fwProfile.FirewallEnabled[NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE] = true;
                                }
                        
                                //将应用添加到防火墙例外列表
                                Type tNetFwAuthorizedApplication = Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication");
                                INetFwAuthorizedApplication fwApp = (INetFwAuthorizedApplication)Activator.CreateInstance(tNetFwAuthorizedApplication);
                                
                                //设置应用程序名称,用于标识列表中的应用程序 
                                fwApp.Name = appName;  
                        
                                //设置应用程序路径,用于防火墙检索应用程序 
                                fwApp.ProcessImageFileName = appPath;
                                
                                //添加新应用
                                fwApp.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL; 
                                fwApp.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY;
                                fwApp.Enabled = true;
                                
                                // 加入到防火墙公用应用列表(例:V2RayN)
                                fwPolicy2.Rules.Add(fwApp);
                            }
                            catch (Exception ex)
                            {
                                Console.WriteLine(ex.Message);
                            }
                        }
                        

                        上述代码创建了一个名为“AllowAppThroughFirewall”的方法,该方法的参数为要允许通过Windows Defender防火墙通信的应用程序名称和应用程序路径。使用.NetFwTypeLib命名空间中的相关类和接口实现添加应用程序到防火墙例外列表,从而允许应用程序通过Windows Defender防火墙进行通信。在添加应用程序时,需要设置应用程序名称,路径,并启用应用程序。

                        希望这个代码可以帮到你!

                        @ChatGPT 优化一下代码,当前有报错

                        感谢反馈!以下是优化后的代码,已经处理了报错问题:

                        using NetFwTypeLib;
                        
                        public void AllowAppThroughFirewall(string appName, string appPath)
                        {
                            Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                            INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
                        
                            //获取当前配置文件的类型
                            Type tNetFwProfile = Type.GetTypeFromProgID("HNetCfg.FwProfile");
                            INetFwProf

                        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                        1 条回复 最后回复
                        0
                        • I 离线
                          I 离线
                          ivan
                          🍌
                          写于 最后由 编辑
                          #10134

                          @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则

                          ChatGPTC 1 条回复 最后回复
                          0
                          • I ivan

                            @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则

                            ChatGPTC 离线
                            ChatGPTC 离线
                            ChatGPT
                            写于 最后由 编辑
                            #10135

                            ivan 说:

                            @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则

                            以下是一个简单的C#程序示例,可用于添加防火墙规则,使特定程序在专用网络和公共网络上都能通过防火墙:

                            using NETCONLib;
                            using NATUPNPLib;
                            using System;
                            using System.Collections.Generic;
                            using System.Linq;
                            using System.Net;
                            using System.Text;
                            using System.Threading.Tasks;
                            
                            namespace FirewallRuleExample
                            {
                                class Program
                                {
                                    static void Main(string[] args)
                                    {
                                        // 获取程序的本地IP地址
                                        IPAddress localIP = Dns.GetHostEntry(Dns.GetHostName()).AddressList.FirstOrDefault(ip => ip.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork);
                            
                                        if (localIP == null)
                                        {
                                            Console.WriteLine("无法获取本地IP地址!");
                                            return;
                                        }
                            
                                        // 创建UPnP和NetSharingManager对象
                                        UPnPNATClass upnpnat = new UPnPNATClass();
                                        INetSharingManager netSharingManager = new NetSharingManager();
                            
                                        // 获取网络连接
                                        INetConnection netConnection = null;
                                        foreach (INetConnection connection in netSharingManager.EnumEveryConnection)
                                        {
                                            if (connection.GetProperties().guidId.Equals("{guid-of-the-connection}"))
                                            {
                                                netConnection = connection;
                                                break;
                                            }
                                        }
                            
                                        // 添加防火墙规则
                                        INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                                        firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                                        firewallRule.ApplicationName = @"C:\path\to\your\program.exe";
                                        firewallRule.Enabled = true;
                                        firewallRule.InterfaceTypes = "All";
                                        firewallRule.Name = "My Program Firewall Rule";
                                        firewallRule.Protocol = (int)NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_ANY;
                            
                                        // 设置范围
                                        firewallRule.LocalAddresses = localIP.ToString();
                                        firewallRule.RemoteAddresses = "*";
                            
                                        // 在专用网络上添加规则
                                        INetSharingEveryConnectionCollection connections = netSharingManager.get_EnumEveryConnection();
                                        foreach (INetConnection conn in connections)
                                        {
                                            INetSharingPublicConnection publicConnection = conn as INetSharingPublicConnection;
                                            if (publicConnection == null)
                                            {
                                                continue;
                                            }
                                            INetConnectionProperties connProps = conn.get_NetConnectionProperties();
                                            if (connProps.get_IsIcsPrivate() && connProps.get_IsConnected())
                                            {
                                                INetSharingPrivateConnection privateConnection = (INetSharingPrivateConnection)publicConnection.get_PrivateConnection();
                                                IWbemClassObject moc = privateConnection.get_WmiObject();
                                                object name = null;
                                                moc.GetPropertyValue("Description", out name);
                                                firewallRule.Grouping = name.ToString();
                                                privateConnection.get_INetSharingConfigurationForINetConnection(out INetSharingConfiguration sharingCfg);
                                                sharingCfg.EnableSharing(tagSHARINGCONNECTIONTYPE.ICSSHARINGTYPE_PRIVATE);
                                                INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                                                fwPolicy2.Rules.Add(firewallRule);
                                            }
                                        }
                            
                                        // 在公共网络上添加规则(用UPnP)
                                        if (upnpnat.StaticPortMappingCollection != null)
                                        { 
                                            upnpnat.StaticPortMappingCollection.Add(12345, "TCP", 12345, localIP.ToString(), true, "My Program Firewall Rule");
                                        }
                            
                                        Console.WriteLine("防火墙规则已添加!");
                                    }
                                }
                            }
                            

                            注意替换{guid-of-the-connection}为您的网络连接的ID,以及C:\path\to\your\program.exe为您的程序的路径。此外,请确保您的程序有管理员权限才能操作防火墙规则。

                            帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                            1 条回复 最后回复
                            0
                            • I 离线
                              I 离线
                              ivan
                              🍌
                              写于 最后由 编辑
                              #10136

                              @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则,使用允许应用通过Windows Defender防火墙进行通信

                              ChatGPTC 1 条回复 最后回复
                              0
                              • I ivan

                                @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则,使用允许应用通过Windows Defender防火墙进行通信

                                ChatGPTC 离线
                                ChatGPTC 离线
                                ChatGPT
                                写于 最后由 编辑
                                #10137

                                ivan 说:

                                @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则,使用允许应用通过Windows Defender防火墙进行通信

                                以下是C#程序,可以实现添加防火墙规则的功能,使特定的程序可以在专用网络和公共网络上都能通过防火墙进行通信。程序使用Windows Defender防火墙来执行此操作。

                                using System;
                                using NetFwTypeLib;
                                
                                class FirewallRule
                                {
                                    public static void Main()
                                    {
                                        // 创建NetFwPolicy2实例
                                        Type netFwPolicy2Type = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                                        INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(netFwPolicy2Type);
                                
                                        // 创建规则对象
                                        INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                                
                                        // 设置规则属性
                                        firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                                        firewallRule.Enabled = true;
                                        firewallRule.InterfaceTypes = "All";
                                        firewallRule.ApplicationName = "C:\\Path\\To\\Your\\Program.exe"; // 将路径替换为你的程序路径
                                        firewallRule.Name = "Allow Program"; // 规则名称
                                
                                        // 添加规则
                                        fwPolicy2.Rules.Add(firewallRule);
                                    }
                                }
                                

                                这个程序基于COM接口,使用了Windows Defender防火墙API来创建防火墙规则。它为指定的程序添加了一个规则,在专用网络和公共网络上都启用该规则,使其通过Windows Defender防火墙进行通信。你需要将程序路径替换为你自己的程序路径。如果你需要为其他应用程序添加规则,请更改“ApplicationName”和“Name”属性的值,以反映你要添加规则的程序名称和规则名称。

                                帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                I 1 条回复 最后回复
                                0
                                • ChatGPTC ChatGPT

                                  ivan 说:

                                  @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则,使用允许应用通过Windows Defender防火墙进行通信

                                  以下是C#程序,可以实现添加防火墙规则的功能,使特定的程序可以在专用网络和公共网络上都能通过防火墙进行通信。程序使用Windows Defender防火墙来执行此操作。

                                  using System;
                                  using NetFwTypeLib;
                                  
                                  class FirewallRule
                                  {
                                      public static void Main()
                                      {
                                          // 创建NetFwPolicy2实例
                                          Type netFwPolicy2Type = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                                          INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(netFwPolicy2Type);
                                  
                                          // 创建规则对象
                                          INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                                  
                                          // 设置规则属性
                                          firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                                          firewallRule.Enabled = true;
                                          firewallRule.InterfaceTypes = "All";
                                          firewallRule.ApplicationName = "C:\\Path\\To\\Your\\Program.exe"; // 将路径替换为你的程序路径
                                          firewallRule.Name = "Allow Program"; // 规则名称
                                  
                                          // 添加规则
                                          fwPolicy2.Rules.Add(firewallRule);
                                      }
                                  }
                                  

                                  这个程序基于COM接口,使用了Windows Defender防火墙API来创建防火墙规则。它为指定的程序添加了一个规则,在专用网络和公共网络上都启用该规则,使其通过Windows Defender防火墙进行通信。你需要将程序路径替换为你自己的程序路径。如果你需要为其他应用程序添加规则,请更改“ApplicationName”和“Name”属性的值,以反映你要添加规则的程序名称和规则名称。

                                  I 离线
                                  I 离线
                                  ivan
                                  🍌
                                  写于 最后由 编辑
                                  #10138

                                  ChatGPT 说:

                                  ivan 说:

                                  @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则,使用允许应用通过Windows Defender防火墙进行通信

                                  以下是C#程序,可以实现添加防火墙规则的功能,使特定的程序可以在专用网络和公共网络上都能通过防火墙进行通信。程序使用Windows Defender防火墙来执行此操作。

                                  using System;
                                  using NetFwTypeLib;
                                  
                                  class FirewallRule
                                  {
                                      public static void Main()
                                      {
                                          // 创建NetFwPolicy2实例
                                          Type netFwPolicy2Type = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                                          INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(netFwPolicy2Type);
                                  
                                          // 创建规则对象
                                          INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                                  
                                          // 设置规则属性
                                          firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                                          firewallRule.Enabled = true;
                                          firewallRule.InterfaceTypes = "All";
                                          firewallRule.ApplicationName = "C:\\Path\\To\\Your\\Program.exe"; // 将路径替换为你的程序路径
                                          firewallRule.Name = "Allow Program"; // 规则名称
                                  
                                          // 添加规则
                                          fwPolicy2.Rules.Add(firewallRule);
                                      }
                                  }
                                  

                                  这个程序基于COM接口,使用了Windows Defender防火墙API来创建防火墙规则。它为指定的程序添加了一个规则,在专用网络和公共网络上都启用该规则,使其通过Windows Defender防火墙进行通信。你需要将程序路径替换为你自己的程序路径。如果你需要为其他应用程序添加规则,请更改“ApplicationName”和“Name”属性的值,以反映你要添加规则的程序名称和规则名称。

                                  @ChatGPT 修改为使用INetFwAuthorizedApplication实现

                                  ChatGPTC 1 条回复 最后回复
                                  0
                                  • I ivan

                                    ChatGPT 说:

                                    ivan 说:

                                    @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则,使用允许应用通过Windows Defender防火墙进行通信

                                    以下是C#程序,可以实现添加防火墙规则的功能,使特定的程序可以在专用网络和公共网络上都能通过防火墙进行通信。程序使用Windows Defender防火墙来执行此操作。

                                    using System;
                                    using NetFwTypeLib;
                                    
                                    class FirewallRule
                                    {
                                        public static void Main()
                                        {
                                            // 创建NetFwPolicy2实例
                                            Type netFwPolicy2Type = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                                            INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(netFwPolicy2Type);
                                    
                                            // 创建规则对象
                                            INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                                    
                                            // 设置规则属性
                                            firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                                            firewallRule.Enabled = true;
                                            firewallRule.InterfaceTypes = "All";
                                            firewallRule.ApplicationName = "C:\\Path\\To\\Your\\Program.exe"; // 将路径替换为你的程序路径
                                            firewallRule.Name = "Allow Program"; // 规则名称
                                    
                                            // 添加规则
                                            fwPolicy2.Rules.Add(firewallRule);
                                        }
                                    }
                                    

                                    这个程序基于COM接口,使用了Windows Defender防火墙API来创建防火墙规则。它为指定的程序添加了一个规则,在专用网络和公共网络上都启用该规则,使其通过Windows Defender防火墙进行通信。你需要将程序路径替换为你自己的程序路径。如果你需要为其他应用程序添加规则,请更改“ApplicationName”和“Name”属性的值,以反映你要添加规则的程序名称和规则名称。

                                    @ChatGPT 修改为使用INetFwAuthorizedApplication实现

                                    ChatGPTC 离线
                                    ChatGPTC 离线
                                    ChatGPT
                                    写于 最后由 编辑
                                    #10139

                                    ivan 说:

                                    ChatGPT 说:

                                    ivan 说:

                                    @ChatGPT 写一个c#程序,功能为:添加让一个程序在专用网络和公共网络上都能通过防火墙的防火墙规则,使用允许应用通过Windows Defender防火墙进行通信

                                    以下是C#程序,可以实现添加防火墙规则的功能,使特定的程序可以在专用网络和公共网络上都能通过防火墙进行通信。程序使用Windows Defender防火墙来执行此操作。

                                    using System;
                                    using NetFwTypeLib;
                                    
                                    class FirewallRule
                                    {
                                        public static void Main()
                                        {
                                            // 创建NetFwPolicy2实例
                                            Type netFwPolicy2Type = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
                                            INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(netFwPolicy2Type);
                                    
                                            // 创建规则对象
                                            INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                                    
                                            // 设置规则属性
                                            firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                                            firewallRule.Enabled = true;
                                            firewallRule.InterfaceTypes = "All";
                                            firewallRule.ApplicationName = "C:\\Path\\To\\Your\\Program.exe"; // 将路径替换为你的程序路径
                                            firewallRule.Name = "Allow Program"; // 规则名称
                                    
                                            // 添加规则
                                            fwPolicy2.Rules.Add(firewallRule);
                                        }
                                    }
                                    

                                    这个程序基于COM接口,使用了Windows Defender防火墙API来创建防火墙规则。它为指定的程序添加了一个规则,在专用网络和公共网络上都启用该规则,使其通过Windows Defender防火墙进行通信。你需要将程序路径替换为你自己的程序路径。如果你需要为其他应用程序添加规则,请更改“ApplicationName”和“Name”属性的值,以反映你要添加规则的程序名称和规则名称。

                                    @ChatGPT 修改为使用INetFwAuthorizedApplication实现

                                    以下是使用INetFwAuthorizedApplication接口实现添加防火墙规则的C#程序:

                                    // 导入COM类型库
                                    using NetFwTypeLib;

                                    class FirewallRule
                                    {
                                    public static void Main()
                                    {
                                    INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                                    INetFwAuthorizedApplication app = (INetFwAuthorizedApplication)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwAuthorizedApplication"));

                                        // 设置应用程序属性
                                        app.Name = "MyApplication"; // 应用程序名称
                                        app.ProcessImageFileName = @"C:\Path\To\Your\Program.exe"; // 应用程序路径
                                        app.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL; // 所有网络接口
                                        app.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY; // 所有IP版本
                                    
                                        // 启用应用程序
                                        app.Enabled = true;
                                    
                                        // 添加到防火墙规则
                                        fwPolicy2.AuthorizedApplications.Add(app);
                                    }
                                    

                                    }

                                    此程序使用INetFwAuthorizedApplication接口代替了以前的INetFwRule接口。它为指定的应用程序添加授权并启用该应用程序,使其通过 Windows Defender 防火墙进行通信。需要将程序路径替换为你自己的程序路径,将应用程序名称替换为你自己的应用程序名称。如果你有多个应用程序,可以多次创建INetFwAuthorizedApplication实例,在每个实例中设置相应的应用程序属性,并将它们添加到防火墙规则列表中。

                                    帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                    1 条回复 最后回复
                                    0
                                    • I 离线
                                      I 离线
                                      ivan
                                      🍌
                                      写于 最后由 编辑
                                      #10140

                                      @ChatGPT 将程序添加到允许通过防火墙列表中,用C#程序实现,给出代码

                                      ChatGPTC 1 条回复 最后回复
                                      0
                                      • I ivan

                                        @ChatGPT 将程序添加到允许通过防火墙列表中,用C#程序实现,给出代码

                                        ChatGPTC 离线
                                        ChatGPTC 离线
                                        ChatGPT
                                        写于 最后由 编辑
                                        #10141

                                        ivan 说:

                                        @ChatGPT 将程序添加到允许通过防火墙列表中,用C#程序实现,给出代码

                                        下面是用C#程序将程序添加到允许通过防火墙白名单的示例代码:

                                        using NetFwTypeLib; //需要引用Windows Firewall API
                                        
                                        class Program
                                        {
                                            static void Main(string[] args)
                                            {
                                                //获取Windows Firewall Manager
                                                Type fwMgrType = Type.GetTypeFromProgID("HNetCfg.FwMgr", false);
                                                dynamic fwMgr = Activator.CreateInstance(fwMgrType);
                                        
                                                //获取当前配置的防火墙策略
                                                INetFwPolicy2 firewallPolicy = fwMgr.LocalPolicy2;
                                        
                                                //添加允许通过防火墙的规则
                                                string appName = "YourProgram.exe"; //程序名称
                                                bool isEnable = true; //是否启用规则
                                                NET_FW_PROFILE_TYPE2_ profile = NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE; //防火墙策略为私用
                                                INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                                                firewallRule.Enabled = isEnable;
                                                firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_ALLOW;
                                                firewallRule.Protocol = (int)NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_ANY;
                                                firewallRule.LocalPorts = "*";
                                                firewallRule.ApplicationName = appName;
                                                firewallRule.Profiles = (int)profile;
                                                firewallPolicy.Rules.Add(firewallRule);
                                            }
                                        }
                                        

                                        以上代码仅供参考,具体实现还需根据实际情况进行修改。需要注意的是,程序在运行时需要以管理员身份运行才能增加或修改防火墙规则。

                                        帖子内容中 @ChatGPT(注意前后空格,发帖后名称变色才行)。必须@才会回答

                                        1 条回复 最后回复
                                        0
                                        • I 离线
                                          I 离线
                                          ivan
                                          🍌
                                          写于 最后由 编辑
                                          #10142

                                          @ChatGPT Windows组策略加入MAPS的作用是什么,如何加入

                                          ChatGPTC 1 条回复 最后回复
                                          0
                                          回复
                                          • 在新帖中回复
                                          登录后回复
                                          • 从旧到新
                                          • 从新到旧
                                          • 最多赞同


                                          • 1
                                          • 2
                                          • 505
                                          • 506
                                          • 507
                                          • 508
                                          • 509
                                          • 576
                                          • 577
                                          Popular Topics - 热门主题
                                          • Bug! Bug !Google One 学生优惠 可无门槛验证
                                            mztcM
                                            mztc
                                            3
                                            14
                                            5.1k

                                          • 中国科技云免费白嫖1 年 Cursor 使用权!快~~~
                                            D
                                            d914954480
                                            1
                                            7
                                            2.0k

                                          • MySQL 8.0 OCP 限时免费考
                                            HebutMrLiuH
                                            HebutMrLiu
                                            1
                                            5
                                            337

                                          • 免费科技代理流量巨多
                                            孤
                                            孤傲的王
                                            1
                                            4
                                            129

                                          • 阿里云国际站轻量应用服务器 2C+1G+200M带宽 仅9.9美元一年!
                                            T
                                            Test
                                            1
                                            4
                                            1.2k

                                          • <海外剧>行尸走肉:死城 第二季[2025][惊悚 恐怖 冒险][附行尸走肉 系列全部]
                                            我是小马甲~M
                                            我是小马甲~
                                            1
                                            3
                                            24

                                          • 登录

                                          • 没有帐号? 注册

                                          • 登录或注册以进行搜索。
                                          百度网盘
                                          1,176 个主题
                                          连续剧
                                          698 个主题
                                          国产剧
                                          564 个主题
                                          美剧
                                          338 个主题
                                          中国移动
                                          307 个主题
                                          动画片
                                          231 个主题
                                          中国电信
                                          222 个主题
                                          动作片
                                          206 个主题

                                          142

                                          在线

                                          39.9k

                                          用户

                                          40.1k

                                          主题

                                          110.4k

                                          帖子
                                          • 第一个帖子
                                            最后一个帖子