可能的解决方案 1:完全禁用 ICS。
您可以停止 ICS 服务,这样所有连接都不会处于共享状态,也不会与NetConLib.dll
. (不确定隐藏的,你必须尝试)。
您可以使用以下命令从命令行管理它:
net start SharedAccess
或net stop SharedAccess
此外,如果您需要从重新启动到禁用它,必须使用以下命令禁用服务:
sc config SharedAccess start= disabled
注释和参考:
- 执行
sc config
将显示“start= OPTIONS”等。= 下面的空格和选项是强制性的。您可以检查services.msc
从 Run 或 cmd 运行的结果。
- 执行
net
以显示选项。服务名称位于 ICS 服务的“服务名称”标签下的 services.msc 列表中。
- netsh 路由不再在 Win7 上,因此您只能启动/停止/启用/禁用但不能为特定接口启用。必须手动设置... Win7 ICS下XP系统下这个不行
Sc Config
命令来自我今天找到的这个很酷的文档。
可能的解决方案2:删除ghost接口?我也尝试了适配器和接口进入注册表,没有看到任何关于 show/hid/ghost/enabled 或类似的东西。我还在这里搜索kb 314053以获取注册表配置。
我可以建议尝试可能的解决方案 1 :) 或直接删除隐藏/幽灵适配器。你可以通过两种方式做到这一点。Devcon 删除选项也将删除驱动程序。
find netcards 的基本用法devcon findall =net
,您也可以devcon findall =net *ndis*
列出所有 ndis 卡。删除的基本用法是devcon remove =net *ndis*
删除所有 ndis 卡类型。
我也尝试启用/禁用命令,但我的网络接口列表没有任何变化。我删除了我自己的 wifi 卡来测试它:) 无论如何,我没有注意到连接面板中此类设备的“取消隐藏”功能的任何选项。
新编辑(太冗长了,对吧?)
我从这个超级用户帖子中找到了一个名为ics-manager的工具。 - 阅读答案#3
您可以直接从utapyngo 的 Git 项目页面下载。
它基于 .Net Framework 4。你必须下载并运行 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.255.0
. 启动使用波浪号或插入接口名称时,您会遇到丑陋的错误netsh interface
(西班牙语默认以太网名称是“Conexión de áreal local”……开个玩笑)。
注意:您可以一次打包所有内容,首先使用call
带有所需参数的 IcsManager.exe 的 Bat,然后稍后从同一批次启动 netsh configure 命令以进行完整配置。
评论:关于尝试覆盖共享连接时的提示,肯定是因为只能共享一个。我还看到,它们被配置为 Public 和 Home 来设置对,但我找不到注册表项在哪里...还从 reg 和使用 Diffs 进行一些导出,不走运。我陷入了差异并开始在 Google 上搜索“ICS C++ 和 C#”,然后找到了它。
额外:我把netsh
它变成了一个蝙蝠,当插入以太网电缆时它会为 Windows 任务启动(这里是操作方法),以便与 Android 反向网络共享一起使用。正如你所看到的,我对你的问题太感兴趣了,因为它让我研究得更好,也学到了很多东西。
对不起我的英语不好。我不是。问候。