如果用户离线,我的应用程序需要加载本地 html 文件,否则它将通过嵌入式控件加载他的 Web 应用程序。
如何检查用户是否在线使用嵌入了浏览器控件的 C++ 桌面应用程序?
如果用户离线,我的应用程序需要加载本地 html 文件,否则它将通过嵌入式控件加载他的 Web 应用程序。
如何检查用户是否在线使用嵌入了浏览器控件的 C++ 桌面应用程序?
您可以使用网络位置感知 (NLA)来确定机器所连接的当前网络的特征。这与检查“用户是否在线”并不完全相同,但应该足够了。
即使这样,如果可以访问互联网,您也不能保证应用程序将正确加载。如果在线情况正常,您最好尝试在线加载,如果失败则回退到本地 HTML。
您可以尝试使用InternetGetConnectedState函数。但是,请确保您尊重备注部分中给出的评论,尤其是:
InternetGetConnectedState 的返回值 TRUE 表示至少有一个 Internet 连接可用
您也可以尝试直接对您的特定 URL 使用InternetCheckConnection函数。
还有更新的 COM 接口具有相同(或更好)的功能:
您可以尝试 ping www.google.com。如果使用 Visual C++,可以使用IcmpSendEcho 函数。