[リストへもどる]
一括表示

投稿時間:2003/03/10(Mon) 12:58
投稿者名:ひでき
Eメール:
URL :
タイトル:
VBで自PCのIPドレス取得(Win2000)
VBでの自PCのIPアドレス取得について悩んでおります。
NTでは
Winsock1.LocalIP
で取れていたのですが、Win2000ではIPがなんであろうと、
127.0.0.1
になります。
なにか方法がありましたら宜しくお願いします。

投稿時間:2003/03/10(Mon) 13:16
投稿者名:だい
Eメール:dee_bassist@hotmail.com
URL :http://homepage2.nifty.com/Dee/
タイトル:
Re: VBで自PCのIPドレス取得(Win2000)
[HOWTO] Visual Basic から GetNetworkParams および GetAdaptersInfo を呼び出す方法
http://support.microsoft.com/?kbid=223025

などいかがでしょう?

投稿時間:2003/03/10(Mon) 13:40
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: VBで自PCのIPドレス取得(Win2000)
> 127.0.0.1
これはループバックアドレスといって、自分自身を表す予約された番号です。

> なにか方法がありましたら宜しくお願いします。
Dim W As Object
Dim N As Object
Dim A As Object
Dim IPs As Variant
Dim D As Variant
Set W = GetObject("winmgmts:")
Set N = W.InstancesOf("Win32_NetworkAdapterConfiguration")
For Each A In N
    Debug.Print A.Caption; "に割り当てられているIPアドレスは、"
    IPs = A.IPAddress
    If IsNull(IPs) Then
        Debug.Print "ありません。"
    Else
        For Each D In IPs
            Debug.Print D,
        Next
        Debug.Print "です。"
    End If
Next

投稿時間:2003/03/11(Tue) 00:39
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re: VBで自PCのIPドレス取得(Win2000)
> NTでは
> Winsock1.LocalIP
> で取れていたのですが、Win2000ではIPがなんであろうと、
> 127.0.0.1
> になります。

 会社のWin2Kと自宅のXPで、Winsock1.LocalIP でうまく取得できます。
環境的なものが原因かもしれませんね。

 winsock のAPIで取得するサンプルがありますが、これだとどうなりますか。

http://support.microsoft.com/default.aspx?scid=kb;EN-US;160215

投稿時間:2003/03/13(Thu) 10:15
投稿者名:ひでき
Eメール:
URL :
タイトル:
Re^2: VBで自PCのIPドレス取得(Win2000)
アドバイス頂きましてありがとうございます。
皆様方のアドバイスをすべて試しましたが、やはりIPの取得は
うまくいきませんでした。
おっしゃる通り環境的なもののようです。
というのは他のWin2000PCではどの方法でもIPが取得できるからです。
環境の違いとしては以下のようなものがあります。

<うまくいくPC>
Win2000SP3日本語版
PCは自作
ネットワークカードはABITマザーのオンボード
YahooBBにつながっている

<うまくいかないPC>
Win2000SP3英語版
PCはDELL OPTIPLEX GX260
ネットワークカードは2枚(オンボードIntel製、3Com製 PCI版)
ネットワークにはつないでいない

ネットワークカードが2枚あることが原因と思ってそれぞれを
削除してみたりしましたが同じでした。
なにかお気づきの点が有ればご教授お願いします。

投稿時間:2003/03/14(Fri) 01:04
投稿者名:Starfish
Eメール:
URL :
タイトル:
Re^3: VBで自PCのIPドレス取得(Win2000)
> <うまくいかないPC>
> Win2000SP3英語版
> PCはDELL OPTIPLEX GX260
> ネットワークカードは2枚(オンボードIntel製、3Com製 PCI版)
> ネットワークにはつないでいない

 ローカルエリア接続を無効にすると、Winsock1.LocalIPは、127.0.0.1
で返ってきました。 127.0.0.1が返るのは有効なネットワークがない場合
じゃないでしょうか。ネットワークにつながっていないので、しょうが
ないのでは?

投稿時間:2003/03/18(Tue) 00:36
投稿者名:ひでき
Eメール:
URL :
タイトル:
Re^4: VBで自PCのIPドレス取得(Win2000)
> じゃないでしょうか。ネットワークにつながっていないので、しょうが
> ないのでは?

あーそういうことだったのですね。
大変おさわがせしました。
IPアドレスは設定したものが拾えるのだと思ってましたので・・
でもいろいろな方法を教えていただき勉強になりました。
ありがとうございます。