- 日時: 2008/11/06 20:33
- 名前: 花ちゃん
- ***********************************************************************************
* カテゴリー:[通信][][] * * キーワード:IPアドレス,ネットワーク,ローカルコンピュータのIPアドレスの取得 * *********************************************************************************** タイトル : VBで自PCのIPアドレス取得(Win2000) 記 事 No : 3069 投 稿 日 : 2003/03/10(Mon) 12:58 元質問者 : ひでき
VBでの自PCのIPアドレス取得について悩んでおります。 NTでは、Winsock1.LocalIP で取れていたのですが、Win2000ではIPがなんであろうと、 127.0.0.1 になります。 なにか方法がありましたら宜しくお願いします。
----------------------------------------------------------------------------------- 記事No : 3070 投稿日 : 2003/03/10(Mon) 13:16 回答者 : だい
[HOWTO] Visual Basic から GetNetworkParams および GetAdaptersInfo を呼び出す方法 http://support.microsoft.com/?kbid=223025 などいかがでしょう?
----------------------------------------------------------------------------------- 記事No : 3071 投稿日 : 2003/03/10(Mon) 13:40 回答者 : 魔界の仮面弁士
> 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
----------------------------------------------------------------------------------- 記事No : 3081 投稿日 : 2003/03/11(Tue) 00:39 回答者 : Starfish
会社のWin2Kと自宅のXPで、Winsock1.LocalIP でうまく取得できます。 環境的なものが原因かもしれませんね。
winsock のAPIで取得するサンプルがありますが、これだとどうなりますか。 http://support.microsoft.com/default.aspx?scid=kb;EN-US;160215
ローカルエリア接続を無効にすると、Winsock1.LocalIPは、127.0.0.1 で返ってきました。 127.0.0.1が返るのは有効なネットワークがない場合 じゃないでしょうか。ネットワークにつながっていないので、しょうが ないのでは?
-----------------------------------------------------------------------------------
|