zoukankan      html  css  js  c++  java
  • 通过编程管理windows 防火墙

    通过编程管理windows 防火墙
        作者:肖波
        最近项目中需要通过程序自动设置windows 防火墙,查了一下资料,可以通过命令行netsh firewall来实现。封装了一个类来实现对允许放开的程序(Allowed program)进行管理。管理其他内容比如放开端口等方法是类似的。
        程序中用到一个公共类 RunProcess,这个类可从我的另一篇文章 一个C#写的调用外部进程类 获得

    namespace WinFirewall
    {

        
    public enum TScope
        
    {
            ALL,
            SUBNET,
            CUSTOM,
        }


        
    public enum TMode
        
    {
            ENABLE,
            DISABLE,
        }


        
    /// <summary>
        
    /// Manage the allowed program with the Windows Firewall.
        
    /// </summary>

        public class AllowedProgram
        
    {
            
    Set AllowedProgram Help

            
    private field

            
    public property

            
    public method
        }

    }


    调用的相关例程

            private void buttonSetAllowProgram_Click(object sender, EventArgs e)
            
    {
                
    try
                
    {
                    AllowedProgram allowedProgram 
    = new AllowedProgram();
                    allowedProgram.Program 
    = textBoxProgramFilePath.Text.Trim();

                    
    if (checkBoxEnable.Checked)
                    
    {
                        allowedProgram.Mode 
    = TMode.ENABLE;
                    }

                    
    else
                    
    {
                        allowedProgram.Mode 
    = TMode.DISABLE;
                    }


                    allowedProgram.Scope 
    = (TScope)comboBoxScope.SelectedItem;

                    allowedProgram.Address 
    = textBoxAddress.Text.Trim();

                    allowedProgram.Set();

                    MessageBox.Show(
    "OK""Information", MessageBoxButtons.OK);
                }

                
    catch (Exception e1)
                
    {
                    MessageBox.Show(e1.Message, 
    "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }


            
    private void buttonDelAllowProgram_Click(object sender, EventArgs e)
            
    {
                
    try
                
    {
                    AllowedProgram allowedProgram 
    = new AllowedProgram();
                    allowedProgram.Program 
    = textBoxProgramFilePath.Text.Trim();
                    allowedProgram.Delete();

                    MessageBox.Show(
    "OK""Information", MessageBoxButtons.OK);
                }

                
    catch (Exception e1)
                
    {
                    MessageBox.Show(e1.Message, 
    "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }

  • 相关阅读:
    CCPC2018-湖南全国邀请赛
    2019中山大学程序设计竞赛
    [POJ]poj1185 炮兵营地(状压DP)
    [CF]Codeforces Round #551 (Div. 2)
    [EOJ]2019 ECNU XCPC April Selection #1
    [现场赛]“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛
    欧拉函数 欧拉筛法 欧拉定理
    [CF]301D Yaroslav and Divisors
    岸芷汀兰的诗集(持续更新)
    模板柱(持续更新)
  • 原文地址:https://www.cnblogs.com/eaglet/p/1203404.html
Copyright © 2011-2022 走看看