现在的位置: 首页 > 综合 > 正文

检查是否已连接上 Internet

2013年10月14日 ⁄ 综合 ⁄ 共 1448字 ⁄ 字号 评论关闭

一小段检查 Internet 连接的代码:

  1. IF CheckInternetConnection()
  2.   MESSAGEBOX( '已经连上 Internet' )
  3. ELSE
  4.   MESSAGEBOX( '没有连上 Internet' )
  5. ENDIF
  6. FUNCTION CheckInternetConnection
  7.   #define TEST_PROMPT       '正在测试 Internet 连接 ...'
  8.   #define TEST_URL          'http://www.google.com'
  9.   #define INTERNET_OPEN_TYPE_PRECONFIG      0
  10.   #define INTERNET_FLAG_RELOAD              0x80000000
  11.   #define INTERNET_FLAG_KEEP_CONNECTION     0x00400000
  12.   #define INTERNET_FLAG_NO_CACHE_WRITE      0x04000000
  13.   DECLARE Long InternetOpen IN wininet ;
  14.     String lpszAgent, Long dwAccessType, ;
  15.     String lpszProxyName, String lpszProxyBypass, ;
  16.     Long dwFlags
  17.   DECLARE Long InternetOpenUrl IN wininet.dll ;
  18.     Long hInet, String lpszUrl, ;
  19.     String lpszHeaders, Long dwHeadersLength, ;
  20.     Long dwFlags, Long dwContext
  21.   DECLARE Long InternetCloseHandle IN wininet ;
  22.     Long hInet
  23.   LOCAL hInet, hUrl, iFlags, lOK
  24.   m.hInet = InternetOpen( 'ConnectTest', INTERNET_OPEN_TYPE_PRECONFIG, NULLNULL, 0 )
  25.   m.lOK = ( 0 != m.hInet )
  26.   IF ( m.lOK )
  27.     WAIT WINDOW AT SROWS()/2, ( SCOLS() - TXTWIDTH( TEST_PROMPT ) )/2 ;
  28.       TEST_PROMPT NOWAIT NOCLEAR
  29.     m.iFlags = BITOR( ;
  30.       INTERNET_FLAG_KEEP_CONNECTION, ;
  31.       INTERNET_FLAG_NO_CACHE_WRITE, ;
  32.       INTERNET_FLAG_RELOAD )
  33.     m.hUrl = InternetOpenUrl( m.hInet, TEST_URL, NULL, 0, m.iFlags, 0 )
  34.     m.lOK = ( 0 != m.hUrl )
  35.     IF ( m.lOK )
  36.       InternetCloseHandle( m.hUrl )
  37.     ENDIF
  38.     InternetCloseHandle( m.hInet )
  39.     WAIT CLEAR
  40.   ENDIF
  41.   RETURN m.lOK
  42. ENDFUNC

抱歉!评论已关闭.