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

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

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

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

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

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

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

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

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

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

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

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

不要为记录的异步行为而烦恼。 这根本行不通。