如何检索所有RAS连接?

时间:2012-01-25 15:04:17

标签: c# ras

我希望所有 RAS连接(拨号,宽带,VPN等)出现在“控制面板”下的“网络连接”中。这里有一些解决方案可以在网上实现,但它们都是关于主动(连接)连接

我该怎么做?如何获得所有活动和非活动 RAS连接?有或没有“DotRas”。

2 个答案:

答案 0 :(得分:5)

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

希望有所帮助!

答案 1 :(得分:2)

如果你想在没有.pbk文件的情况下动态获取所有RAS连接“path”

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