Aza*_*zad 7 c# registry networking windows-7
我正在尝试使用Windows-7上的网络适配器共享Internet NetConLib.dll.
为此,应在所有其他网络适配器上禁用 Internet共享.
在正常情况下.我可以迭代所有已安装的网络适配器并禁用它们的共享. 但是,有时当拔出网络设备时,适配器将隐藏在窗口中.但它的属性仍然存在于Windows注册表中.
我甚至无法在控制面板中找到适配器.当然,不能使用NetConlib库迭代它.
最简单的方法是使用Windows命令禁用所有适配器上的Internet共享.无论他们的知名度如何.
这有可能吗?
第二种解决方案是从隐藏状态恢复网络适配器,以便
NetConlib可以迭代它并禁用它.
我试图在Windows注册表中找到适配器的属性unhide,但是找不到任何东西.
有解决方案吗
感谢您提供丰富的答复.虽然它没有解决我面临的问题NetConlib.
SC config正确关闭ICS服务.但共享网络适配器继续被标记为Shared1.因此,关闭 ICS服务似乎不会影响适配器的设置.
非常有趣; 当您尝试使用Windows GUI(Right click on adapter -> Properties -> Share)共享另一个适配器时,会提示消息告诉您
"目前正在共享另一个适配器,您的新适配器将被共享".你点击确定就完成了.
我整个下午一直在挖掘整个互联网,看看是否有其他使用CMD命令的解决方案.
也许可以通过命令共享适配器.这样windows就可以处理禁用其他适配器的问题.以与使用GUI时类似的方式.
1:Windows告诉您当前正在共享哪个适配器Control Panel\Network and Internet\Network Connections).
可能的解决方案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以显示OPTIONS.服务名称位于ICS服务的"服务名称"标签下的services.msc列表中.Sc Config命令来自我今天发现的这个很酷的文档.可能的解决方案2:删除ghost界面?我还尝试将适配器和接口放入注册表中,并且看不到有关show/hid/ghost/enabled或类似内容的任何信息.我也在这里搜索kb 314053 for registry conf.
我可以makegeest尝试可能的解决方案1 :)或直接删除隐藏/鬼适配器.你可以通过两种方式来做到这一点.Devcon删除选项也将删除驱动程序.
set devmgr_show_nonpresent_devices=1并运行
devmgmt.msc.您必须查看"查看""显示隐藏"选项.show_nonpresent还必须显示隐藏的设备,而不仅是不活动的.
kb 269155 - 你必须点击#link命名为"我自己解决"查找网卡的基本用法devcon findall =net,您也devcon findall =net *ndis*可以列出所有ndis卡.删除的基本用法是devcon remove =net *ndis*删除所有ndis卡类型.
我也尝试启用/禁用命令,但我的网络接口列表没有任何变化.我删除了自己的wifi卡来测试它:)无论如何,我没有注意到任何选项关于这些设备的"取消隐藏"功能来自连接面板.
新编辑(太冗长了,对吧?)
我从这个超级用户帖子中找到了一个名为ics-manager 的工具.- 阅读答案#3 您可以直接从utapyngo的Git项目页面下载.
它基于.Net Framework 4.Yo必须下载并运行build.bat来编译两个exe(你也得到了C#源代码).解决方案是仅使用唯一需要的库IcsManagerLibrary.dll获取已编译的IcsManager.exe(命令行版本).
此应用程序也在使用NETCONLib.dll,因此您可以使用它,或阅读源代码以查看您需要执行此操作并在开发时实施的正确功能.
如果您遇到Ip范围"192.168.137.1"的问题,您可以从Registry永久设置或运行netsh interface ipv4 set address name="YOUR-INTERFACE" source=static addr=192.168.2.1 mask=255.255.255.0.您将netsh interface使用波形符或启动进入接口名称(西班牙语默认以太网名称为"Conexióndeáallocal"......一个笑话)会出现难看的错误.
注意:您可以一次性打包,首先使用call所需参数将Bat添加到IcsManager.exe中,然后再从同一批次启动netsh configure命令到完全配置.
注释:关于尝试覆盖共享连接时的提示,肯定是因为只能共享一个.我也看到,他们被配置为公共和家庭设置对,但我找不到注册表项的位置...也从reg和使用Diffs进行一些导出,没有幸运.我陷入困境并开始在Google上搜索"ICS C++和C#",然后找到它.
额外:我把netsh它变成了一个蝙蝠,并且当插入以太网电缆时,它是为Windows任务启动的(这里是howto),以便与Android Reverse Tethering一起使用.正如你所看到的,我对你的问题太有趣了,因为它让我的研究更好,也学到了很多东西.
抱歉我的英语不好.我不是.问候.
小智 1
我发现通过进入设备管理器,您可以显示隐藏设备并尝试禁用适配器上的互联网共享。
希望这接近您所要求的。祝你好运!
自动取款机
来源:http ://msdn.microsoft.com/en-us/library/windows/hardware/ff553955%28v=vs.85%29.aspx