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);
                }

            }

  • 相关阅读:
    穿越之我是码农 1024 篇
    误删文件机房停电黑客入侵_你最怕什么?
    AI觉醒进行时:程序员你怕了吗?
    未来已来!阿里小蜜AI技术揭秘
    千人千面智能淘宝店铺背后的算法研究登陆人工智能顶级会议AAAI 2017
    CDN缓存不命中排查
    现实需求巨大_技术尚未成熟_学界与业界思维大碰撞
    围观阿里云最会赚钱的人!价值2万元邀请码不限量发送
    今晚19:30直播阿里巴巴大规模持续集成的技术演进之路_欢迎免费观看
    工作压力山大?码农这么减压最有效
  • 原文地址:https://www.cnblogs.com/eaglet/p/1203404.html
Copyright © 2011-2022 走看看