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

时间:2011-06-27 05:03:17

标签: c# windows networking windows-vista location

如果连接不存在,我已经编写了一个使用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;
}

1 个答案:

答案 0 :(得分:2)

此注册表项控制Windows是否会提示(“Home / Work / Public”):

HKLM \系统\ CurrentControlSet \控制\网络\ NewNetworkWindowOff

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

您可以随时从系统托盘中“关闭新网络上的通知”:)

如果你能做到这一点,我肯定会有一个注册表黑客和/或PowerShell API来做同样的事情:

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