はじめまして。
いきなり質問ですみません。
以下環境で、ネットワークIPアドレスの設定を取得すると、
127.0.0.1しか、Winsockで取得できません。
アダプターに設定したIPアドレスを取得したいのですが、
ご存知の方が居れれたら、教えてください。
言語:VB6 SP6
OS:Windows2000及びXP
ここが重要です。「LANケーブルをはずした状態!!」
LANボードの設定のIP:192.168.10.XXX(ネットワークのプロパティ)
よろしくお願いします。
WMIを使った方法だと、この辺りが参考になるんじゃないでしょうか
http://www.microsoft.com/japan/technet/community/scriptcenter/network/scrnet02.mspx
御意見、有り難うございます。
確認してみましたが、ケーブルをはずして、
ネットワーク切断状態だと、IPが取れませんでした・・・。(空白)
いただいた内容を、応用しないといけないと思うのですが、
応用の方法が・・・。
よろしくお願いします。
ケーブルを抜いた状態では、Win2000/XPでは、アダプタの
ドライバーが、無効化状態と同じ状態になるので、IPア
ドレスの取得はできません。
あくまでリンクアップ時のみです。
どうしても取りたいというのであれば、レジストリのどこ
かにあったように思いますが・・・
以上。
当方の WinXP 環境では、下記のコードにて、ケーブル断線時に
IPアドレスを取得出来ました。あまりスマートな方法ではありませんが…
Private Sub Form_Load()
Dim oWshShell As Object
Dim oWshScriptExec As Object
Dim sCmdLine As String
Dim oStdOut As Object
sCmdLine = "NETSH INTERFACE IP SHOW ADDRESS NAME=""ローカル エリア接続"" "
Set oWshShell = CreateObject("WScript.Shell")
Set oWshScriptExec = oWshShell.Exec(sCmdLine)
Set oStdOut = oWshScriptExec.StdOut
Do While oWshScriptExec.Status = 0
DoEvents
Loop
Do Until oStdOut.AtEndOfStream
Debug.Print oStdOut.ReadLine
Loop
oStdOut.Close
Set oStdOut = Nothing
Set oWshScriptExec = Nothing
Set oWshShell = Nothing
End Sub
ツイート | ![]() |