ページ 11

オンライン状態のチェック

Posted: 2008年3月11日(火) 16:47
by まっ
オンライン状態のチェックのプロシージャなんですが、、、
下のコードで一応使えてるんですが、どうしても無茶な使いかたのような気がするので、アドバイスなどありましたらお願い致します。
こちらのネット環境はISDNです(いまだADSL開通せず)。

コード: 全て選択


''''' OnlineCheck オンライン・チェック
Function ZONLCHK() as long
Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags as long, dwReserved as long) as Long
Dim ZVAL as Long
ZONLCHK=InternetGetConnectedState(ZVAL,NULL)
End Function
戻値ZONLCHKは、0でオフライン、1でオンライン

Posted: 2008年3月11日(火) 20:39
by konisi
こちらでは正常に動作します。
(WinXPHome+ADSL)
アドバイスは、Declareの宣言をFunctionの外に出したい位でしょうか。

ところで、http://support.microsoft.com/kb/315035/ja(Microsoftの某ページ)によると、
現象
コンピュータが次の条件に該当する場合、Win32 インターネット関数 InternetGetConnectedState が False を返します。
• デフォルト ゲートウェイ アドレスが設定されていません。また、インターネットに接続しているプライベート LAN (Local Area Network) 上にコンピュータがあります。この資料の「詳細」の「デフォルト ゲートウェイ値の確認方法」を参照してください。
• [インターネット オプション] ダイアログ ボックスの [接続] タブで [ダイヤルしない] オプションが有効になっている。
だそうです。