Files
KJD/AllBase/AdslHelper.cs
T
2025-06-29 19:38:31 +08:00

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();
}
}
}