我正在尝试使用C#编写一个程序作为我公司的多用途工具。我们希望使用此工具的其中一项内容是确定IPv6是否启用/绑定到Windows 7计算机上的本地连接网络适配器。我不是在寻找它的地址,只是为了知道它是否在该适配器上启用或禁用。我不确定如何编码。从我已经能够在网上找到的,似乎我应该使用System.Net.Configuration和Ipv6Element来检查它是否启用,但我不知道如何对其进行编码。我希望能够显示它是否在文本框中启用或禁用,所以我猜我会使用布尔值。有人能指出我在这方面的正确方向吗?谢谢!检查Windows 7上是否启用了IPv6使用C#
回答
您可以测试使用该属性的操作系统是否支持IPv6:
bool supportsIpV6 = System.Net.Sockets.Socket.OSSupportsIPv6;
谢谢你的建议,hmemcpy。当我用if/else语句尝试时,即使在取消选中本地连接属性中的框时,它也总是返回语句的真实部分。我想我的问题可能不是很具体。我不知道我的操作系统是否支持IPv6,因为我知道它是启用/绑定到网络适配器的。对不起,我更新了我的问题,以便更准确。 – 2013-02-10 15:23:23
这是我尝试基于你的建议的代码.... bool supportsIpV6 = System.Net.Sockets.Socket.OSSupportsIPv6; if(supportsIpV6 == true) { ipStatusTextBox.Text =“IPv4 and IPv6”; } else if(supportsIpV6 == false) { ipStatusTextBox.Text =“仅限IPv4”; } – 2013-02-10 15:28:07
请注意,这不适用于Windows XP - 事实上它会抛出一个非常讨厌的错误(“程序入口点_except_handler4_common无法位于动态链接库msvcrt.dll中”) – Sean 2013-07-11 09:12:49
您可以查询你问什么的(如果启用IPv6或特定网络适配器禁用)用下面的代码使用System.Net.NetworkInformation命名空间:
using System.Net.NetworkInformation;
// ...
NetworkInterface[] allInterfaces = NetworkInterface.GetAllNetworkInterfaces();
NetworkInterface firstInterface = allInterfaces[0];
bool interfaceSupportsIPv6 = firstInterface.Supports(NetworkInterfaceComponent.IPv6);
文档在MSDN:Link
我已经使用这个码T o测试它。注意它测试IPV6是否启用,而不是网卡是否兼容IPV6:
public static bool InterfaceHasIpv6Enabled(NetworkInterface @interface)
{
try
{
var properties = @interface.GetIPProperties().GetIPv6Properties();
return properties.Index > -999;
}
catch (System.Net.NetworkInformation.NetworkInformationException)
{
return false;
}
catch (Exception ex)
{
throw ex;
}
}
- 1. 以编程方式检查在Windows上是否启用了IPv6
- 2. C#检查是否在Windows客户端上启用了远程桌面
- 3. 检查Windows 10中是否启用了“同步密码”
- 4. 如何使用otool检查是否启用了位代码
- 5. 检查是否在iOS7上启用了推送通知
- 6. 如何检查给定路径上是否启用了POSIX ACL
- 7. 如何检查android上是否启用了背景数据?
- 8. 检查设备上是否启用了facetime
- 9. Win32 C/C++ - 检测是否安装了IPv6
- 10. 检查是否启用
- 11. 检查使用iTextSharp是否在PDF上启用了“Fast Web View”属性
- 12. 如果在Windows机器上启用IPv6,则检测到
- 13. 使用C#如何检测是否安装了Windows Installer 4.5
- 14. 如何检查是否使用了matplotlibrc
- 15. 如何检查PDF是否启用Reader或不使用C#?
- 16. 检查IPv4/IPv6地址是否使用PHP
- 17. 检查用户是否启用了自动纠正功能iOS
- 18. 我如何检查是否Windows功能使用C#
- 19. 如何检查用户是否在iOS设备上启用了PIN码
- 20. 如何检查在Windows 7上没有用户使用C#登录?
- 21. 如何检查是否使用C++
- 22. 是否可以检测iPhone上的网页上是否启用了VoiceOver?
- 23. 检查文件是否使用量角器在Windows上下载
- 24. 检测是否安装了java并使用javascript启用
- 25. 检查是否启用了O365产品许可证
- 26. 如何检查服务器是否启用了SSL?
- 27. 如何检查用户是否在电报中启动了bot?
- 28. 如何检查Android中是否启用了按钮?
- 29. 如何检查是否启用了更改跟踪
- 30. 如何检查是否启用了黑暗外观tvOS
禁用Win7上的ipv6支持需要大量手术,它需要手动编辑注册表。 http://support.microsoft.com/kb/929852 – 2013-02-10 12:53:52