【发布时间】:2019-11-26 20:25:15
【问题描述】:
我正在寻找一种以编程方式将以太网适配器的 Windows 操作系统网络配置文件设置为“公共”的方法
在 PowerShell 中,我可以使用这个:
Set-NetConnectionProfile -InterfaceAlias "Ethernet 3" -NetworkCategory Public
我是 C# 新手,正在寻找一种在我的应用程序中将以太网适配器的网络配置文件设置为“公共”的方法。澄清一下,这是 Windows 10 操作系统中的以太网适配器,需要设置为“公共”
这是我现在拥有的代码,但这并没有设置网络配置文件
public async Task<bool> HasInternet()
{
await Task.Delay(0);
var _Profile = Windows.Networking.Connectivity.NetworkInformation.GetInternetConnectionProfile();
if (_Profile == null)
return false;
var net = Windows.Networking.Connectivity.NetworkConnectivityLevel.InternetAccess;
return _Profile.GetNetworkConnectivityLevel().Equals(net);
}
这样的事情会起作用吗? (我在 SO 上找到的代码)
get { return (Profile & NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC) != 0; }
set
{
// Check if value isn't changing
if (value == IsPublicProfile) return;
if (value)
Profile |= NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC;
else
Profile &= ~NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC;
}
【问题讨论】:
-
“这样的东西会起作用吗?”你试过了吗?当你尝试时会发生什么?
-
我不确定如何测试它——猜猜这是我的问题的一部分。
标签: c#