2012-05-07 80 views
0

我有應用程序需要加載本地html文件,如果用戶不在線,如果不是,它會通過嵌入式控制加載他的web應用程序。如何檢查用戶是否與c + +桌面應用程序在線

如何檢查用戶是否與嵌入IE瀏覽器控制的c + +桌面應用程序在線?

+1

你怎麼定義 「正在網上」? – juanchopanza

+0

你想用這些信息做什麼?試試和檢索一些數據或者ping一個已知的好主機,比如說google更簡單嗎? – RedX

+0

如果用戶連接到互聯網,並可以打開網頁,在線 – Marko

回答

1

您可以嘗試使用InternetGetConnectedState函數。但是,請確保你的榮譽,在備註部分給出的意見,尤其是:

從的InternetGetConnectedState的返回值爲true表示 至少一個連接到因特網可用

您可能還嘗試直接使用您的特定URL的InternetCheckConnection函數。

還有一些具有相同(或更好)的功能更新COM接口:

+0

這看起來不錯,我會測試它 – Marko

0

您可以嘗試ping www.google.com。如果使用Visual C++,則可以使用IcmpSendEcho function

+0

現在看着它...... – Marko

1

您可以使用Network Location Awareness (NLA)來確定機器所連接的當前網絡的特徵。這與檢查'用戶是否在線'並不完全一樣,但應該足夠了。

即使這樣,如果互聯網可以訪問,您也無法保證應用程序將正確加載。如果在線情況正常,那麼只需嘗試在線負載並且如果失敗返回到本地HTML,可能會更好。

+0

是的,但如何退後?我嘗試過閱讀html標題,但是當用戶離線時,瀏覽器控件不會讀取標題,而是讀取域名,並且使檢查變得複雜 – Marko

+0

@ Alf在評論中的建議如何? –

+0

但ie6-8用戶沒有html5 – Marko

相關問題