我想获取所有RAS 连接(拨号、宽带、VPN 等),因为它们出现在“控制面板”下的“网络连接”中。这里和网络上有一些解决方案可以做到这一点,但它们都是关于获取Active (connected) Connections。
我怎样才能做到这一点?如何获得所有活动和非活动RAS 连接?有或没有“DotRas”。
DotRas SDK 中有一个组件可以处理电话簿条目的管理。请记住,Windows 使用了两个电话簿,一个在所有用户的配置文件中,一个在当前用户的配置文件中。因此,如果您试图获取您在那里看到的所有条目的列表,您需要访问两个电话簿。
using DotRas;
RasPhoneBook pbk = new RasPhoneBook();
pbk.Open(@"C:\PathToYourPhoneBook.pbk");
// NOTE: You can also use RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers) to
// access the path as defined by the Windows SDK rather than having to hard-code it.
foreach (RasEntry entry in pbk.Entries)
{
// Do something useful.
}
上面的示例相当有限,因此要获得更完整的示例,请查看 SDK 中包含的示例。
上述 SDK 的下载链接见官网:http ://dotras.codeplex.com
希望有帮助!
如果您想动态获取所有没有 .pbk 文件“路径”的 RAS 连接
using DotRas;
string path = RasPhoneBook.GetPhoneBookPath(RasPhoneBookType.AllUsers);
RasPhoneBook pbk = new RasPhoneBook();
pbk.Open(path);
foreach (RasEntry entry in pbk.Entries)
{
MessageBox.Show(entry.Name);
}