如何防止出现新连接的网络位置对话框(家庭,工作,公共)?

Gav*_*vin 8 c# windows networking location windows-vista

我写了一个软件,如果没有连接,使用USB 3G Dongle连接到互联网.

当软件加载时,它会检测互联网是否可用,如果没有,则创建拨号连接(通过RAS),然后拨号.

如果这是第一次发生,则会出现网络位置对话框,要求用户选择是回家,工作还是公共.

无论如何,我可以以编程方式设置连接的网络位置,甚至告诉窗口不显示对话框并自动将位置设置为公共?

干杯

加文

编辑:对于ScottM

public bool Connect(bool monitorSignalUpdates)
{
    RasPhoneBook rpb = new RasPhoneBook();
    rpb.Open(true);
    if (!rpb.Entries.Contains("3G Connection"))
    {
        rpb.Entries.Add(RasEntry.CreateBroadbandEntry("3G Connection", RasDevice.GetDeviceByName("HUAWEI Mobile Connect - 3G Modem", RasDeviceType.Modem), true));
    }
    _rd = new RasDialer();
    _rd.EntryName = "3G Connection";
    _rd.PhoneNumber = "*99#";
    try
    {
        _rd.Dial();
        if (monitorSignalUpdates)
        {
            _queryPort.DataReceived += new SerialDataReceivedEventHandler(_queryPort_DataReceived);
        }
        return true;
    }
    catch (Exception ex)
    {
        int i = 99;
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

pau*_*sm4 2

此注册表项控制 Windows 是否提示(“家庭/工作/公共”):

\n\n

HKLM\\System\\CurrentControlSet\\Control\\Network\\NewNetworkWindowOff

\n\n

http://technet.microsoft.com/en-us/library/gg252535%28v=ws.10%29.aspx

\n\n

您始终可以从系统托盘“\xe2\x80\x9c关闭新网络\xe2\x80\x9d上的通知:)

\n\n

如果你能做到这一点,我确信有一个注册表黑客和/或 PowerShell API 可以做到这一点:

\n\n

http://technet.microsoft.com/en-us/library/cc725831%28v=ws.10%29.aspx

\n