89 lines
2.5 KiB
C#
89 lines
2.5 KiB
C#
using System.Diagnostics;
|
|
|
|
|
|
namespace AllBase
|
|
{
|
|
public class AdslHelper
|
|
{
|
|
/// <summary>
|
|
/// 宽带名称
|
|
/// </summary>
|
|
public static string Name;
|
|
/// <summary>
|
|
/// 宽带名称
|
|
/// </summary>
|
|
public static string User;
|
|
/// <summary>
|
|
/// 宽带名称
|
|
/// </summary>
|
|
public static string Pass;
|
|
/// <summary>
|
|
/// 宽带名称
|
|
/// </summary>
|
|
public AdslHelper()
|
|
{
|
|
}
|
|
/// <summary>
|
|
/// 初始化
|
|
/// </summary>
|
|
/// <param name="name"></param>
|
|
/// <param name="user"></param>
|
|
/// <param name="pass"></param>
|
|
public AdslHelper(string name, string user, string pass)
|
|
{
|
|
Name = name;
|
|
User = user;
|
|
Pass = pass;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 链接
|
|
/// </summary>
|
|
/// <param name="user"></param>
|
|
/// <param name="pass"></param>
|
|
public void Connect(string user, string pass)
|
|
{
|
|
string arg = string.Format("rasdial \"{0}\" {1} {2}", Name, user, pass);
|
|
InvokeCmd(arg);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 链接
|
|
/// </summary>
|
|
public bool Connect()
|
|
{
|
|
string arg = string.Format("rasdial \"{0}\" {1} {2}", Name, User, Pass);
|
|
string result = InvokeCmd(arg);
|
|
if (result.Contains("已连接")|| result.Contains("已经连接"))
|
|
return true;
|
|
return false;
|
|
}
|
|
/// <summary>
|
|
/// 关闭链接
|
|
/// </summary>
|
|
public bool Disconnect()
|
|
{
|
|
string arg = string.Format("rasdial \"{0}\" /disconnect", Name);
|
|
string result=InvokeCmd(arg);
|
|
if (result.Contains("命令已完成"))
|
|
return true;
|
|
return false;
|
|
}
|
|
public static string InvokeCmd(string cmdArgs)
|
|
{
|
|
Process p = new Process();
|
|
p.StartInfo.FileName = "cmd.exe";
|
|
p.StartInfo.UseShellExecute = false;
|
|
p.StartInfo.RedirectStandardInput = true;
|
|
p.StartInfo.RedirectStandardOutput = true;
|
|
p.StartInfo.RedirectStandardError = true;
|
|
p.StartInfo.CreateNoWindow = true;
|
|
p.Start();
|
|
p.StandardInput.WriteLine(cmdArgs);
|
|
p.StandardInput.WriteLine("exit");
|
|
return p.StandardOutput.ReadToEnd();
|
|
}
|
|
|
|
}
|
|
}
|