ネットワーク接続を検出するには?

解決


挑戦者  2005-10-22 06:01:00  No: 18208

Windows 98 S.E. + Delphi6 Personal を使用しています。
アプリケーションからネットワーク接続の有無が知りたくて調べてみたのですが、
GetSystemMetrics(SM_NETWORK)
の返り値の最下Bitが1ならばネットワーク有、0ならばネットワーク無し
上位Bitは将来の拡張の為に空けてある。と書いてありました。
しかし、私の環境では、LAN接続の有無orダイヤルアップ接続の有無、
どのような状態でも常時0(ネットワーク無)が返って来ます。
みなさんの環境ではちゃんと判定できますか?
また、他のネットワーク接続の有無の判定法を知っている方、
おられましたら、ご教授お願いします。


net  2005-10-22 08:03:16  No: 18209

ネットワークとは違いますがインターネットなら
http://hp.vector.co.jp/authors/VA015850/delphi/tips/winapi05.html
関係ないですか・・・


こちらでは  2005-10-22 09:05:38  No: 18210

同じ条件(Windows 98 S.E. + Delphi6 Personal)で、

  if GetSystemMetrics(SM_NETWORK) and $01 = $01 then
    ShowMessage('Machine is attached to network')
  else
    ShowMessage('Machine is not attached to network');

を実行すると、ネットワーク有りと判定されますけど...


挑戦者  2005-10-23 00:49:20  No: 18211

netさん、ありがとうございます。リンク先の方法だと、
  ちゃんと判別できました。
こちらでは  さんはちゃんと判別できているのですね。
  実行ファイルのスリム化の面からも、この方法で判別できれば
  ベストなんですけど・・・
とりあえずの解決となりましたが、もう少し調べてみます。
みなさん、ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加