一小段检查 Internet 连接的代码:
- IF CheckInternetConnection()
- MESSAGEBOX( '已经连上 Internet' )
- ELSE
- MESSAGEBOX( '没有连上 Internet' )
- ENDIF
- FUNCTION CheckInternetConnection
- #define TEST_PROMPT '正在测试 Internet 连接 ...'
- #define TEST_URL 'http://www.google.com'
- #define INTERNET_OPEN_TYPE_PRECONFIG 0
- #define INTERNET_FLAG_RELOAD 0x80000000
- #define INTERNET_FLAG_KEEP_CONNECTION 0x00400000
- #define INTERNET_FLAG_NO_CACHE_WRITE 0x04000000
- DECLARE Long InternetOpen IN wininet ;
- String lpszAgent, Long dwAccessType, ;
- String lpszProxyName, String lpszProxyBypass, ;
- Long dwFlags
- DECLARE Long InternetOpenUrl IN wininet.dll ;
- Long hInet, String lpszUrl, ;
- String lpszHeaders, Long dwHeadersLength, ;
- Long dwFlags, Long dwContext
- DECLARE Long InternetCloseHandle IN wininet ;
- Long hInet
- LOCAL hInet, hUrl, iFlags, lOK
- m.hInet = InternetOpen( 'ConnectTest', INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 )
- m.lOK = ( 0 != m.hInet )
- IF ( m.lOK )
- WAIT WINDOW AT SROWS()/2, ( SCOLS() - TXTWIDTH( TEST_PROMPT ) )/2 ;
- TEST_PROMPT NOWAIT NOCLEAR
- m.iFlags = BITOR( ;
- INTERNET_FLAG_KEEP_CONNECTION, ;
- INTERNET_FLAG_NO_CACHE_WRITE, ;
- INTERNET_FLAG_RELOAD )
- m.hUrl = InternetOpenUrl( m.hInet, TEST_URL, NULL, 0, m.iFlags, 0 )
- m.lOK = ( 0 != m.hUrl )
- IF ( m.lOK )
- InternetCloseHandle( m.hUrl )
- ENDIF
- InternetCloseHandle( m.hInet )
- WAIT CLEAR
- ENDIF
- RETURN m.lOK
- ENDFUNC