ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
まっ
記事: 18 登録日時: 2008年2月17日(日) 18:55
#1
投稿記事
by まっ » 2008年3月11日(火) 16:47
オンライン状態のチェックのプロシージャなんですが、、、
下のコードで一応使えてるんですが、どうしても無茶な使いかたのような気がするので、アドバイスなどありましたらお願い致します。
こちらのネット環境は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でオンライン
konisi
記事: 893 登録日時: 2005年7月25日(月) 13:27
お住まい: 埼玉県東松山市
連絡する:
#2
投稿記事
by konisi » 2008年3月11日(火) 20:39
こちらでは正常に動作します。
(WinXPHome+ADSL)
アドバイスは、Declareの宣言をFunctionの外に出したい位でしょうか。
ところで、
http://support.microsoft.com/kb/315035/ja (Microsoftの某ページ)によると、
現象
コンピュータが次の条件に該当する場合、Win32 インターネット関数 InternetGetConnectedState が False を返します。
• デフォルト ゲートウェイ アドレスが設定されていません。また、インターネットに接続しているプライベート LAN (Local Area Network) 上にコンピュータがあります。この資料の「詳細」の「デフォルト ゲートウェイ値の確認方法」を参照してください。
• [インターネット オプション] ダイアログ ボックスの [接続] タブで [ダイヤルしない] オプションが有効になっている。
だそうです。