如何检测win32上的datacard连接和断开事件?

问题描述 投票:0回答:2

我有一张数据卡,一旦插入数据卡,我就会使用wm_device_change事件来获取事件。

但是,当我的数据连接实际连接到外部世界时,我也希望得到事件。

我的意思是说,一旦我们点击数据卡的连接/断开按钮,我就想得到这个事件。换句话说,我想知道何时建立连接并断开连接。

数据卡是Vodaphone数据卡,我正在尝试使用该数据卡进行浏览。无论SDK是什么,操作系统应该在某个地方获得连接和断开网络的事件是否有任何方法来访问操作系统正在获取的事件。正如我在通知中看到的那样,Vodaphone连接和LAN连接的变化。

数据卡是其中具有SIM的USB设备,并且可以用于通过GPRS访问互联网。

如何在Win32 C / C ++程序中执行此操作?

c++ c winapi networking network-programming
2个回答
0
投票

当然这取决于你的“数据卡”sdk或驱动程序以及它们是否支持这样的事件。

否则我建议的是当你在SDK中调用“连接”或“断开”方法时,你使用任何返回值表示suuccess或以其他方式提出你自己的事件。

在不知道这个数据卡是什么以及它连接到什么的情况下,我看不出我们如何更全面地回答您的问题。


0
投票

要检测网络更改,可以使用NotifyAddrChange(0,0);因为这是阻塞,所以您需要一个线程。线程函数可以很简单

while(true) {
  NotifyAddrChange(0,0);
  PostMessage(gHWnd, WM_APP,0,0);
}

不要打扰记录的异步行为。这根本行不通。

© www.soinside.com 2019 - 2024. All rights reserved.