我正在尝试在互联网连接丢失后重新建立时获取事件。它用于我正在开发的数据传输软件。如果我在数据传输过程中失去了网络,我希望在恢复时收到通知并自动继续传输。
我当然可以创建一个单独的线程并使用计时器偶尔检查一次网络,但也许有更好的选择。
我主要使用 C++(不是 .net)为 Windows 开发。
我也可以使用 wxwidgets(我将它用于 GUI),但我怀疑它是否提供任何相关功能。
最佳答案
您可能想查看系统事件通知服务器 (SENS) API http://msdn.microsoft.com/en-us/library/cc185680(VS.85).aspx
我没有实际使用过它,但它似乎提供了您要查找的事件。
编辑:
WMI 似乎拥有您需要的有关各种网络连接和状态更改的所有信息。它还具有可用于获取通知的异步事件模型。我想,诀窍是生成正确的 WMI 查询以获取所需的信息。这blog看起来是正确的查询类型,这个 MSDN解释了如何异步处理事件。
关于c++ - 捕获网络状态变化事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2101041/