相关疑难解决方法(0)

有什么方法可以使用c#在Windows中关闭"互联网"?

我正在寻找c#中API的指针,这将允许我通过打开和关闭连接来控制我的Internet连接.

我想写一个小的控制台应用程序,允许我打开和关闭我的访问权限,允许生产力飞涨:)(以及在过程中学习的东西)

谢谢 !!

c#

25
推荐指数
2
解决办法
3万
查看次数

使用 C# 在 Windows 10 中设置端口防火墙例外

我正在尝试为 Windows 10 设置防火墙例外。经过多次搜索后,我整理了以下代码:

private const string PROGID_OPEN_PORT = "HNetCfg.FWOpenPort";
private const string CLSID_FIREWALL_MANAGER = "{304CE942-6E39-40D8-943A-B913C40C9CD4}";
private NetFwTypeLib.INetFwMgr GetFirewallManager()
{
    Type objectType = Type.GetTypeFromCLSID(
      new Guid(CLSID_FIREWALL_MANAGER));
    return Activator.CreateInstance(objectType)
      as NetFwTypeLib.INetFwMgr;
}

INetFwMgr manager = GetFirewallManager();

Type type = Type.GetTypeFromProgID(PROGID_OPEN_PORT);
INetFwOpenPort port = Activator.CreateInstance(type) as INetFwOpenPort;
port.Name = "MyPortRule";
port.Port = 9600;
port.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL;
port.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
port.IpVersion = NET_FW_IP_VERSION_.NET_FW_IP_VERSION_ANY;

manager.LocalPolicy.CurrentProfile.GloballyOpenPorts.Add(port);
Run Code Online (Sandbox Code Playgroud)

这确实将防火墙规则放入具有高级安全性的 Windows 防火墙中,但该规则的配置文件设置为公开。配置文件设置为公共防火墙不会让数据通过端口。

使用 Windows UI 修改规则,我确定必须将 Profile 设置为“private”或“any”,以便数据通过。为什么不将 port.Scope 设置为 NET_FW_SCOPE_.NET_FW_SCOPE_ALL 将配置文件设置为 Any?您如何将防火墙规则中的配置文件设置为私有或任何?

我还尝试将 port.Scope 设置为 NET_FW_SCOPE_.NET_FW_SCOPE_LOCAL_SUBNET。配置文件仍设置为“公开”。

c# firewall windows-firewall windows-firewall-api

3
推荐指数
1
解决办法
3229
查看次数