C#.NET 获取拨号连接 宽带连接

15 篇文章 0 订阅
10 篇文章 0 订阅
直接可以用,我在XP VS2010 NET3.5上测试通过。

首先是ASDL的封装

class SinASDL
{
	//ASDL在注册表中的存放位置,这个是针对WinXP的,不知道Win7是否是这个,待验证
	private static String _adlskeys = @"RemoteAccess\Profile";
	public static String adlskeys
	{
		get
		{
			return _adlskeys;
		}
	}

	/// <summary>
	/// 获取本机的拨号名称,也就是本机上所有的拨号
	/// </summary>
	/// <returns></returns>
	public static String[] GetASDLNames()
	{
		RegistryKey RegKey = Registry.CurrentUser.OpenSubKey(adlskeys);
		if (RegKey != null)
			return RegKey.GetSubKeyNames();
		else
			return null;
	}


	private String _asdlname = null;
	private ProcessWindowStyle _windowstyle = ProcessWindowStyle.Hidden;


	/// <summary>
	/// 实例化一个ASDL连接
	/// </summary>
	/// <param name="asdlname">ASDL名称,如“宽带连接”</param>
	/// <param name="username">用户名</param>
	/// <param name="password">密码</param>
	/// <param name="windowstyle">窗口显示方式,默认为因此拨号过程</param>
	public SinASDL(String asdlname, String username = null, String password = null, ProcessWindowStyle windowstyle = ProcessWindowStyle.Hidden)
	{
		this.ASDLName = asdlname;
		this.Username = username;
		this.Password = password;
		this.WindowStyle = windowstyle;
	}

	/// <summary>
	/// 拨号名称
	/// </summary>
	public String ASDLName
	{
		get
		{
			return this._asdlname;
		}
		set
		{
			this._asdlname = value;
		}
	}

	/// <summary>
	/// 拨号进程的窗口方式
	/// </summary>
	public ProcessWindowStyle WindowStyle
	{
		get
		{
			return this._windowstyle;
		}
		set
		{
			this._windowstyle = value;
		}
	}

	private String _username = null;	//用户名
	private String _password = null;	//密码
	/// <summary>
	/// 用户名
	/// </summary>
	public String Username
	{
		get
		{
			return this._username;
		}
		set
		{
			this._username = value;
		}
	}
	/// <summary>
	/// 密码
	/// </summary>
	public String Password
	{
		get
		{
			return this._password;
		}
		set
		{
			this._password = value;
		}
	}



	/// <summary>
	/// 开始拨号
	/// </summary>
	/// <returns>返回拨号进程的返回值</returns>
	public int Connect()
	{
		Process pro = new Process();
		pro.StartInfo.FileName = "rasdial.exe";
		pro.StartInfo.Arguments = this.ASDLName + " " + this.Username + " " + this.Password;
		pro.StartInfo.WindowStyle = this.WindowStyle;
		pro.Start();
		pro.WaitForExit();
		return pro.ExitCode;
	}

	/// <summary>
	/// 端口连接
	/// </summary>
	/// <returns></returns>
	public int Disconnect()
	{
		Process pro = new Process();
		pro.StartInfo.FileName = "rasdial.exe";
		pro.StartInfo.Arguments = this.ASDLName + " /DISCONNECT";
		pro.StartInfo.WindowStyle = this.WindowStyle;
		pro.Start();
		pro.WaitForExit();
		return pro.ExitCode;
	}
}


下面是使用测试

			//SinASDL asdl = new SinASDL("宽带连接", "08793312221", "123456");	//宽带连接
			//使用枚举到的第一个进行拨号
			SinASDL asdl = new SinASDL(SinASDL.GetASDLNames()[0], "08793312221", "123456", System.Diagnostics.ProcessWindowStyle.Normal);
			if (asdl.Connect() == 0)
			{
				MessageBox.Show("Success");
			}
			else
			{
				MessageBox.Show("Fail");
			}

我自己测试的时候是通过的。

如果电脑上不止一个拨号的,那么你可以用SinASDL.GetASDLNames()进行枚举。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
【软件概况】 ①、名称:dialupass ②、版本:2.43 ③、类型:系统工具/免费软件 ④、原版文件:[不需要] ⑤、软件大小:673KB ⑥、适用系统:Windows 9x/NT/2000/XP ⑦、拨号上网的密码不小心丢了怎么办?这个工具可以帮你!别看这 个软件还不足40 KB,在紧要关头,它会让你体验到它的奇效! 有备无患,快收藏这个小东东吧。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【使用注意!】 ①、绿色软件,下载后直接解压缩到一个目录中即可使用(建议:不要删除压缩文件)。可能误被认为病毒请关闭杀毒软件后再使用! ②、经过作者多次升级,该软件现在可以很好地工作在 Win95~WinXP 操作系统,支持MODEM、ADSL等几乎所有拨号连接。 来源下载于:http://www.ryit.net ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【致谢】 要感谢『软硬IT技术交流论坛www.ryit.net』辛勤工作的工作人员及,是他们无 私奉献,请大家支持! 【特别声明】 本人所制作的汉化作品没有任何商业目的,未经本人准许,汉化作品 不得用于商业用途。对使用此文件给您造成的任何损失,本人概不负责! 在使用过程中如果发现错误或其他问题, 请联系 我的 E-Mail:admin@ryit.net QQ:156672260 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 『编制作:Ryitnet』 2004年11月15日 于湖南•长沙•长沙县县政府
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RobinTang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值