DotRasはWindows RAS APIのラッパーで、電話帳ファイルを使用してリモート RAS サーバーへの接続方法と、実際にエントリをダイヤルするコマンドを格納します。SDK に含まれる例は、VPN 接続を行う方法を示すだけですが、多くの労力をかけずに同じ原則をダイヤルアップ接続に適用できます。唯一の違いは、エントリの作成時に CreateVpnEntry ではなく CreateDialUpEntry を呼び出すことです。
ステップ 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();
}
これにより、指定された資格情報を使用して「あなたのエントリ」への接続が確立されます。
ステップ 3: エントリを切断する
切断するには、アクティブな接続を見つけて HangUp を呼び出す必要があります。
RasConnection conn = RasConnection.GetActiveConnections().Where(o => o.Name == "Your Entry").First();
conn.HangUp();
それがあなたの質問に答えることを願っています!
編集: 追加したかったのですが、テスト対象のマシンに接続が既に存在する場合は、ステップ 2 に直接スキップしてダイヤルできます。