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

Posted

技术标签:

【中文标题】如何防止出现新连接的网络位置对话框(家庭、工作、公共)?【英文标题】:How to prevent the Network Location dialog (home, work, public) appearing for new connections? 【发布时间】:2011-09-23 05:51:49 【问题描述】:

如果连接不存在,我已经编写了一个使用 USB 3G 加密狗连接到互联网的软件。

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

如果这是第一次发生这种情况,则会出现网络位置对话框,要求用户选择是在家、工作还是公共场所。

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

干杯

加文

编辑:对于 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,我的怀疑不是,但它仍然很有趣。 我不能告诉你怎么做,但我敢打赌你可以模拟添加一个网络连接(做新的网络程序所做的),然后在你的程序中放弃新的网络对话框。或者当它出现时点击按钮。 您能否发布一些有关如何创建连接的代码?我通过创建一个电话簿条目并让 RAS 直接拨号而不显示对话框来完成此操作 大家好,我没有收到任何关于您的 cmets 的通知,因此对于延迟回复表示歉意。我正在使用 DotRas 创建 DUN,然后拨打它。有关代码,请参阅我的原始帖子。 @Mazzzzz:不幸的是,我认为你不能。现在在 Windows 中创建新的拨号连接或网络时,将出现网络位置对话框。也就是说,我确实认为有一种方法可以通过告诉它将所有新连接设置为 Public 来抑制它。 【参考方案1】:

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

HKLM\System\CurrentControlSet\Control\Network\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

【讨论】:

以上是关于如何防止出现新连接的网络位置对话框(家庭、工作、公共)?的主要内容,如果未能解决你的问题,请参考以下文章

翻译5G如何改变你的家庭网络连接

有没有办法防止python内部出现“连接错误”或“无网络”错误?

win10家庭和学生版怎么设置自动获取ip地址?

网络是怎样连接的

解决Mac电脑连接到网络但是上不了网的问题

如何防止ElasticSearch集群出现脑裂现象(转)