C#写的windows下快捷管理VPN工具

2015-07-23 作品 #.Net #VPN #Tools

简介

使用C#写的windows 下快捷管理VPN工具,可以实现对本地VPN的增加,修改,删除管理

原理

在cmd输入 : rasphone /? 就可以查看所有命令操作信息

使用


处理VPN的代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConciseVPN
{
    /**
     * VPN操作类
     */
    class VPNTools
    {

        /**
         * 连接指定名称的VPN
         */
        public static bool connect(string vpnName, string username, string password)
        {
            String command = "rasdial " + vpnName + " " + username + " " + password;
            String result = Command.execute(command);
            if (result.IndexOf("已连接") > 0)
                return true;
            return false;
        }

        /**
         * 断开指定VPN连接
         */
        public static bool disConnect(String vpnName)
        {
            String command = "rasdial " + vpnName + " /disconnect";
            String result = Command.execute(command);
            if (result.IndexOf("没有连接") > 0)
                return false;
            return true;
        }

        /**
         * 新建VPN连接
         */
        public static void createConnection() {
            String command = "rasphone -a" ;
            Command.execute(command);
        }

        /**
         * 删除VPN连接
         */
        public static void deleteConnection(String vpnName)
        {
            String command = "rasphone -r " + vpnName;
            Command.execute(command);
        }

        /**
        * 修改VPN连接
        */
        public static void editConnection(String vpnName)
        {
            String command = "rasphone -e " + vpnName;
            Command.execute(command);
        }

        /**
         * 检测是否有VPN连接
         */
        public static String checkCoonnect()
        {
            String result = Command.execute("rasdial");
            if (result.IndexOf("没有连接") != -1)
                return "false";
            else{//返回连接中的VPN名称
                result = result.Replace("已连接", "").Replace("命令已完成。","");
                result = result.Substring(result.IndexOf("vpn_"));
                result = result.Substring(0, result.IndexOf("\n\n\r\n"));
                return result;
            }
        }
    }
}

截图

VPN连接成功,在屏幕右上方显示的绿色状态条(不要说你看不到….)

连接成功

鼠标放到状态条显示的软件主界面 主界面

VPN和用户列表 主界面的VPN/用户列表

VPN未连接状态 未连接

下载




文章作者:eightpigs
创作时间:2015-07-23
更新时间: 2019-03-04
许可协议:CC by-nc-nd 4.0