使用 C# 写的 Windows 下快捷管理 VPN 工具,可以实现对本地 VPN 的增加,修改,删除管理
在cmd 输入 : rasphone /? 就可以查看所有命令操作信息
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 未连接状态