C# Windows-7:在网络适配器上禁用internet连接共享,当它';它处于隐藏状态?
我正在尝试使用C# Windows-7:在网络适配器上禁用internet连接共享,当它';它处于隐藏状态?,c#,networking,windows-7,registry,C#,Networking,Windows 7,Registry,我正在尝试使用NetConLib.dll在windows-7上通过网络适配器共享internet 为此,应在所有其他网络适配器上禁用internet共享 在正常情况下。我可以迭代所有已安装的网络适配器并禁用它们上的共享。 但是,有时当网络设备拔出时,适配器在windows中被隐藏。 但它的属性仍然存在于windows注册表中 我甚至在控制面板中找不到适配器。 当然,不能使用NetConlib库对其进行迭代 可能的情况。 最简单的方法是使用windows命令禁用internet 在所有适配器上
NetConLib.dll
在windows-7上通过网络适配器共享internet
为此,应在所有其他网络适配器上禁用internet共享
在正常情况下。我可以迭代所有已安装的网络适配器并禁用它们上的共享。
但是,有时当网络设备拔出时,适配器在windows中被隐藏。
但它的属性仍然存在于windows注册表中
我甚至在控制面板中找不到适配器。
当然,不能使用NetConlib
库对其进行迭代
可能的情况。
- 最简单的方法是使用windows命令禁用internet 在所有适配器上共享。不管它们的可见性如何 无论如何,这可能吗
- 第二种解决方案是从隐藏状态恢复网络适配器,以便
可以迭代并禁用它 我试图在windows注册表中找到适配器的属性并NetConlib
取消隐藏它,但什么也找不到
@埃尔姆达。 谢谢你提供了信息丰富的答案。虽然它没有解决NetConlib所面临的问题 SC配置正确关闭ICS服务。但共享网络适配器继续被标记为
共享
1。所以ICS服务被关闭似乎不会影响适配器的设置
很有意思,;当您尝试使用windows GUI共享另一个适配器时(右键单击适配器->属性->共享
),系统会提示您一条消息
当前正在共享另一个适配器,即您的新适配器
将被共享”。你点击ok,它就完成了
我整个下午都在搜索整个互联网,看看是否有其他使用CMD命令的解决方案
也许有一种方法可以与命令共享适配器。这样windows就可以处理禁用其他适配器的问题。与使用GUI时的方式类似
1:Windows会告诉您当前在
控制面板\网络和Internet\网络连接中共享的适配器。
我发现,通过进入设备管理器,您可以显示隐藏的设备,并尝试禁用适配器上的Internet共享
希望这接近你的要求。祝你好运
自动取款机
来源:可能的解决方案1:完全禁用IC。 您可以停止ICS服务,这样所有连接都不会处于共享状态,也不会与
NetConLib.dll
冲突。(对隐藏的不确定,您必须尝试)
您可以使用以下命令行对其进行管理:
净启动SharedAccess
或净停止SharedAccess
此外,如果需要从重新启动到禁用,则必须使用以下命令禁用服务:
sc配置SharedAccess启动=已禁用
注释和参考资料:
- 执行
将显示“开始=选项”和其他一些选项。 下面的空格=和选项是必需的。你可以检查结果 从Run或cmd运行sc config
services.msc
- Exec
以显示选项。服务的名称在 ICS服务“服务名称”标签下的services.msc列表net
- netsh路由不再在Win7上,因此您只能 启动/停止/启用/禁用但不启用特定接口。 你必须用鼠标手动设定。。。这在Win7下不起作用
命令来自Sc Config
- 设备管理器:运行
并运行设置devmgr\u show\u nonpresent\u devices=1
。您必须通过“查看”选项查看“显示隐藏”选项。这个 show_nonpresent还必须显示隐藏设备,而不仅仅是非活动设备。devmgmt.msc
- 使用devcon.exe实用程序:这是一个来自Windows的设备管理器工具 随着力量的移动李>
devcon findall=net
,也可以devcon findall=net*ndis*
列出所有ndis卡。
删除的基本用法是删除所有ndis卡类型
我也尝试启用/禁用命令,但我的网络接口列表中没有任何更改。
我移除了自己的wifi卡来测试它:)无论如何,我没有注意到任何关于“取消隐藏”功能的选项
新编辑(太冗长了,是吗?
我找到了一个名为ics管理器的工具
您可以直接从下载
它基于.NETFramework4。您必须下载并运行build.bat来编译这两个exe(您还获得了C#源代码)。解决方案是只获取编译后的IcsManager.exe(命令行版本),其中只包含所需的库IcsManagerLibrary.dll
此应用程序还使用了NETCONLib.dll
,因此您可以使用它,或者阅读源代码以查看执行此操作并在开发中实现的正确功能
如果Ip范围“192.168.137.1”出现问题,可以从注册表中永久设置,或运行netsh interface ipv4 set address name=“YOUR-interface”source=static addr=192.168.2.1 mask=255.255.0
。使用tilde或acutes into interfaces name(西班牙语默认以太网名称为“Conexión deáreal loca”)启动netsh interface
,会出现严重错误