欢迎来到天天文库
浏览记录
ID:56673678
大小:60.50 KB
页数:7页
时间:2020-07-04
《C#完美实现VPN控制.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、·C# 完美实现VPN控制 因为工作需要,需要用程序来控制VPN代理,在google搜了搜,还有不少朋友有同样的需求,但是目前在网上搜索到的解决方案,都还遗留了一些问题。只好自己手动把方案补齐了一下,谈不上原创,大牛们飘过就行。 先谈谈自己的需求吧,就是针对如图示中的VPN连接,咱们至少需要以下四个基本功能 1.新建一个VPN 2.修改指定名字VPN的主机IP地址 3.监视当前连接状态 4.删除指定名称的VPN直接上代码吧,这里面引用了【DotRas.dll】大家可以
2、到官网dotras.codeplex./ 下载usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Diagnostics;usingDotRas;usingSystem.Text.RegularExpressions;namespaceAutoPersonalSubmit{publicclassVPNHelper{//系统路径C:windowssystem32privatestaticstringW
3、inDir=Environment.GetFolderPath(Environment.SpecialFolder.System)+"";//rasdial.exeprivatestaticstringRasDialFileName="rasdial.exe";Word资料·//VPN路径C:windowssystem32rasdial.exeprivatestaticstringVPNPROCESS=WinDir+RasDialFileName;//VPN地址publicstringIP
4、ToPing{get;set;}//VPN名称publicstringVPNName{get;set;}//VPN用户名publicstringUserName{get;set;}//VPN密码publicstringPassWord{get;set;}publicVPNHelper(){}//////带参构造函数////////////5、amname="_userName">///publicVPNHelper(string_vpnIP,string_vpnName,string_userName,string_passWord){this.IPToPing=_vpnIP;this.VPNName=_vpnName;this.UserName=_userName;this.PassWord=_passWord;}//////尝试连接VP6、N(默认VPN)//////publicvoidTryConnectVPN(){this.TryConnectVPN(this.VPNName,this.UserName,this.PassWord);}Word资料·//////尝试断开连接(默认VPN)//////publicvoidTryDisConnectVPN(){this.TryDisConnectVPN7、(this.VPNName);}//////创建或更新一个默认的VPN连接///publicvoidCreateOrUpdateVPN(){this.CreateOrUpdateVPN(this.VPNName,this.IPToPing);}//////尝试删除连接(默认VPN)//////publicvoidTryDeleteVPN(){this.TryDeleteVPN(this8、.VPNName);}//////尝试连接VPN(指定VPN名称,用户名,密码)//////publicvoidTryConnectVPN(stringconnVpnName,stringconnUserName,stringconnPassWord){try{stringargs=string.Format("{0}{1}{2}",connVpnName,connUserName,connUserName
5、amname="_userName">///publicVPNHelper(string_vpnIP,string_vpnName,string_userName,string_passWord){this.IPToPing=_vpnIP;this.VPNName=_vpnName;this.UserName=_userName;this.PassWord=_passWord;}//////尝试连接VP
6、N(默认VPN)//////publicvoidTryConnectVPN(){this.TryConnectVPN(this.VPNName,this.UserName,this.PassWord);}Word资料·//////尝试断开连接(默认VPN)//////publicvoidTryDisConnectVPN(){this.TryDisConnectVPN
7、(this.VPNName);}//////创建或更新一个默认的VPN连接///publicvoidCreateOrUpdateVPN(){this.CreateOrUpdateVPN(this.VPNName,this.IPToPing);}//////尝试删除连接(默认VPN)//////publicvoidTryDeleteVPN(){this.TryDeleteVPN(this
8、.VPNName);}//////尝试连接VPN(指定VPN名称,用户名,密码)//////publicvoidTryConnectVPN(stringconnVpnName,stringconnUserName,stringconnPassWord){try{stringargs=string.Format("{0}{1}{2}",connVpnName,connUserName,connUserName
此文档下载收益归作者所有