0

我正在使用 dotras dll 开发一个应用程序。在应用程序中,我的主要目标是使用 3g USB 调制解调器连接到互联网。我在下面添加我的代码:

    RasPhoneBook book = new RasPhoneBook();
    book.Open();
    dialer = new RasDialer();
    dialer.StateChanged += new EventHandler<StateChangedEventArgs>  (dialer_StateChanged);
    RasDevice device = RasDevice.GetDeviceByName("ZTE", RasDeviceType.Modem);
    RasEntry entry = RasEntry.CreateDialUpEntry("MyEntry", "*99#", device);
    entry.EncryptionType = RasEncryptionType.Optional;
    entry.Options.ModemLights = true;
    entry.NetworkProtocols.IP = true;
    entry.NetworkProtocols.Ipx = false;
    book.Entries.Add(entry);
    dialer.PhoneBookPath = book.Path;
    dialer.EntryName = "MyEntry";
    dialer.Dial();

当我尝试将电话簿添加到我的条目时,它返回异常:

UnauthorizedAccessException was Unhandled

调用者没有执行请求的操作所需的权限。

我是 DotRas 的新手。那么向电话簿添加条目需要哪些权限?

有任何想法吗?

4

1 回答 1

2

我找到了答案。我需要提升应用程序权限的原因是应用程序打开了所有用户的个人资料电话簿。我对 book.Open() 的调用表明了这一点

如果您遇到此类问题,请记住您可以随时将电话簿存储在您的应用程序旁边,这样就无需提升权限。

代码应该是:

           RasPhoneBook book = new RasPhoneBook();
           book.Open(".\\MyAppPhoneBook.pbk");
于 2013-04-09T06:52:02.837 回答