DotRas是Windows RAS API的包装器,它使用电话簿文件来存储如何连接到远程 RAS 服务器的信息,然后是一个实际拨打该条目的命令。SDK 中包含的示例虽然只演示了如何进行 VPN 连接,但可以毫不费力地将相同的原理应用于拨号连接。唯一的区别是在创建条目时调用 CreateDialUpEntry 而不是 CreateVpnEntry。
第 1 步:创建条目
您需要首先创建您的条目并将其添加到电话簿中,以便以后拨号操作可以找到它:
string path = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.User);
using (RasPhoneBook pbk = new RasPhoneBook())
{
pbk.Open(path);
// Find the device that will be used to dial the connection.
RasDevice device = RasDevice.GetDevices().Where(o => o.Name == "Your Modem Name" && o.DeviceType == RasDeviceType.Modem).First();
RasEntry entry = RasEntry.CreateDialUpEntry("Your Entry", "5555551234", device);
// Configure any options for your entry here via entry.Options
pbk.Entries.Add(entry);
}
这将在电话簿中获得一个名为“Your Entry”的条目和一个电话号码“555-555-1234”。请记住,您需要知道要在条目上配置的设置,以确保连接成功。
第 2 步:拨号
using (RasDialer dialer = new RasDialer())
{
dialer.EntryName = "Your Entry";
dialer.PhoneBookPath = path;
dialer.Credentials = new NetworkCredential("User", "Password");
dialer.Dial();
}
这将使用指定的凭据建立与“您的条目”的连接。
第三步:断开入口
为了断开连接,您需要找到活动连接并在其上调用 HangUp。
RasConnection conn = RasConnection.GetActiveConnections().Where(o => o.Name == "Your Entry").First();
conn.HangUp();
我希望这能回答你的问题!
编辑:我想补充一点,如果正在测试的机器上已经存在连接,您可以直接跳到第二步并拨打它们。