gpt4 book ai didi

c# - 检索到无线适配器的连接时间

转载 作者:太空宇宙 更新时间:2023-11-03 16:25:41 24 4
gpt4 key购买 nike

我写这篇文章是因为我在互联网上找不到任何答案。我正在 WLAN 上用 C# 编写一个项目(使用托管 C++)。考虑连接到网络的给定接口(interface)(网卡),有没有办法知道接口(interface)连接到网络多长时间?

换句话说,我想知道您在 Windows 7 的连接信息中看到的时间(trayicon -> 打开网络和共享中心)。

我希望我说清楚了,我为我糟糕的英语道歉。

http://imageshack.us/photo/my-images/39/immaginenrz.png/

最佳答案

可能您正在寻找 getiftable()窗口的功能。它是一个 winapi 函数,提供与特定网络接口(interface)相关的所有信息

Here就是一个很好的例子

Here是整个结构的解释

根据msdn

dw上次更改

Type: DWORD

The length of time, in hundredths of seconds (10^-2 sec), starting from the last computer restart, when the interface entered its current operational state.

当连接时,它会给你时间,因为它是这样的 - 即处于连接状态。

这里是这个函数在c#中的声明

public static extern uint GetIfTable(IntPtr pIfTable, ref uint pdwSize, bool bOrder);

Declare Function GetIfTable Lib "iphlpapi.dll" (TODO) As TODO

IPHelperTraslation.GetIfTable(IntPtr.Zero, ref size, false);

IPHelperTraslation.GetIfTable(buf, ref size, false);

您可以使用 pinvoke.net在申报方面寻求进一步的帮助。

似乎.Net框架中有一个简单的方法,但不是预期的那样

http://msdn.microsoft.com/en-us/library/system.net.networkinformation.operationalstatus.aspx

查看他们实现网络状态检测的方式。我的假设是,您必须在应用程序中记录自上次状态更改以来的时间。

我也实际测试了 getifrow 函数,令我失望的是,它在 Win7 上总是返回零,不知道其他平台。

关于c# - 检索到无线适配器的连接时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12653681/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com