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)
此注册表项控制 Windows 是否提示(“家庭/工作/公共”):
\n\nHKLM\\System\\CurrentControlSet\\Control\\Network\\NewNetworkWindowOff
\n\nhttp://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\nhttp://technet.microsoft.com/en-us/library/cc725831%28v=ws.10%29.aspx
\n