Subnet Maskなどを取得するには?

解決


もえたか  2006-02-14 01:32:44  No: 130199

Subnet MaskとDefault Gatewayの値をレジストリから取得していたのですが、違うPCなどで取得しようとするとレジストリの場所が違い取得できませんでした。取得するには何か関数を使用するのでしょうか?分かる人がいたら教えていただけるとありがたいです・・・


あん  2006-02-14 03:04:38  No: 130200

コマンドじゃダメ?
ipconfig


あん  2006-02-14 03:33:08  No: 130201

Sub GetIpconfig()

    Dim WshShell, oExec, oEx, 一行入力, サブネット, ゲートウエイ
    Set WshShell = CreateObject("WScript.Shell")
    Set oExec = WshShell.Exec("ipconfig")
    Set oEx = CreateObject("VBScript.RegExp")
    一行入力 = ""

    Do While True
    
        If Not oExec.StdOut.AtEndOfStream Then
            一行入力 = oExec.StdOut.ReadLine
'            MsgBox 一行入力
            ' サブネット判定、取得
            oEx.Pattern = "(^.*Subnet Mask.*: )([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)"
            If oEx.test(一行入力) = True Then
                サブネット = oEx.Replace(一行入力, "$2")
            End If
            ' ゲートウエイ判定、取得
            oEx.Pattern = "(^.*Default Gateway.*: )([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*)"
            If oEx.test(一行入力) = True Then
                ゲートウエイ = oEx.Replace(一行入力, "$2")
            End If
        Else
            Exit Do
        End If
    Loop
    
    MsgBox "Subnet Mask = " & サブネット & vbNewLine & _
           "Default Gateway = " & ゲートウエイ

End Sub

コマンド画面が出るのがいやなら
ファイルに出力して取得すればいいと思います。
UNIXを知ってる人は、既存のコマンドを使用したくなります。


もえたか  2006-02-14 04:38:12  No: 130202

こんなやり方があったとは・・・私もまだまだ勉強不足のようです。
おかげで解決することができました。あん  さんどうもありがとうございました。


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




  


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