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

            }

  • 相关阅读:
    在线JS代码调试网址
    NVM在windows系统下载及安装
    浏览器【插件】【扩展】下载安装
    JavaScript 秘密花园
    HTTP 协议
    移动端:zepto框架
    移动端:移动端事件
    移动端:移动端页面布局
    移动端:Flex弹性盒布局
    移动端:自适应和响应式布局
  • 原文地址:https://www.cnblogs.com/eaglet/p/1203404.html
Copyright © 2011-2022 走看看