首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#兑现vpn控制1

2012-08-25 
c#实现vpn控制1这里面引用了DotRas.dll大家可以到官网http://dotras.codeplex.com/下载 1.新建一个VPN2.修

c#实现vpn控制1
这里面引用了DotRas.dll大家可以到官网http://dotras.codeplex.com/下载
1.新建一个VPN
2.修改指定名字VPN的主机IP地址
3.监视当前连接状态
4.删除指定名称的VPN
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using DotRas;
using System.Text.RegularExpressions;
namespace VpnTest
{
    public class VPNHelper
    {
        // 系统路径 C:\windows\system32\
        private static string WinDir = Environment.GetFolderPath(Environment.SpecialFolder.System) + @"";
        // rasdial.exe
        private static string RasDialFileName = "rasdial.exe";
        // VPN路径 C:\windows\system32\rasdial.exe
        private static string VPNPROCESS = WinDir + RasDialFileName;
        // VPN地址
        public string IPToPing { get; set; }
        // VPN名称
        public string VPNName { get; set; }
        // VPN用户名
        public string UserName { get; set; }
        // VPN密码
        public string PassWord { get; set; }
        public VPNHelper()
        {
        }
        public VPNHelper(string _vpnIP, string _vpnName, string _userName, string _passWord)
        {
            this.IPToPing = _vpnIP;
            this.VPNName = _vpnName;
            this.UserName = _userName;
            this.PassWord = _passWord;
        }
        //尝试连接VPN(默认VPN)
        public void TryConnectVPN()
        {
            this.TryConnectVPN(this.VPNName,this.UserName,this.PassWord);
        }
        //尝试断开连接(默认VPN)
        public void TryDisConnectVPN()
        {
            this.TryDisConnectVPN(this.VPNName);
        }
        //创建或更新一个默认的VPN连接
        public void CreateOrUpdateVPN()
        {
            this.CreateOrUpdateVPN(this.VPNName, this.IPToPing);
        }
        //尝试删除连接(默认VPN)
        public void TryDeleteVPN()
        {
            this.TryDeleteVPN(this.VPNName);
        }
        //尝试连接VPN(指定VPN名称,用户名,密码)
        public void TryConnectVPN(string connVpnName,string connUserName,string connPassWord)
        {
            try
            {
                string args = string.Format("{0} {1} {2}", connVpnName, connUserName, connUserName);
                ProcessStartInfo myProcess = new ProcessStartInfo(VPNPROCESS, args);
                myProcess.CreateNoWindow = true;
                myProcess.UseShellExecute = false;
                Process.Start(myProcess);
            }
            catch (Exception Ex)
            {
                Debug.Assert(false, Ex.ToString());
            }
        }
        //尝试断开VPN(指定VPN名称)
        public void TryDisConnectVPN(string disConnVpnName)
        {
            try
            {
                string args = string.Format(@"{0} /d", disConnVpnName);
                ProcessStartInfo myProcess = new ProcessStartInfo(VPNPROCESS, args);
                myProcess.CreateNoWindow = true;
                myProcess.UseShellExecute = false;
                Process.Start(myProcess);
  
            }
            catch (Exception Ex)
            {
                Debug.Assert(false, Ex.ToString());
            }
        }
}

热点排行