■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#198-3DHCPの判定やま2002-05-16(木) 05:31
     #205-3RE#198:DHCPの判定るーに2002-05-16(木) 07:05
     #206-3RE#198:DHCPの判定せつら2002-05-16(木) 07:06
     #212-3RE#198:DHCPの判定魔界の仮面弁士2002-05-16(木) 10:50
     #217-3RE#198:DHCPの判定(お礼)やま2002-05-17(金) 00:34
#198-3
DHCPの判定
VBにて、IPアドレスやコンピュータ名などを表示するツールを作りたいと思っているのですが、
IPアドレスを取得する事ができても、それがDHCPからリースされたIPか、Staticで持っているIPか
判断が付かないので、DHCPの場合は別の事を表示させられないか調べています。
IPアドレスの表示や、コンピュータ名の表示はサンプルが色々あるのですが、DHCPかどうかを
調べてくれるサンプルが無く、書籍にも詳しい事が書いていないので困り果てています。

何方かご存知であれば、方法を教えて頂けないかと思います。
#205-3
RE#198:DHCPの判定
> VBにて、IPアドレスやコンピュータ名などを表示するツールを作りたいと思っているのですが、
> IPアドレスを取得する事ができても、それがDHCPからリースされたIPか、Staticで持っているIPか
> 判断が付かないので、DHCPの場合は別の事を表示させられないか調べています。
> IPアドレスの表示や、コンピュータ名の表示はサンプルが色々あるのですが、DHCPかどうかを
> 調べてくれるサンプルが無く、書籍にも詳しい事が書いていないので困り果てています。
> 
> 何方かご存知であれば、方法を教えて頂けないかと思います。

#当方 NT4WS & 未検証
DOS の ipconfig コマンド で /all オプションをつけて
DHCP Enabled
の行をみては・・・
#か レジストリの EnableDHCP の値をみるか・・・
#206-3
RE#198:DHCPの判定
いや、何もカット&ペーストしてください、というつもりは無かったのですが…。

DOSプロンプトの話をしたのは、API を調べるのは面倒だし、標準のコマンドに存在するものを、
どうしても独自で作らなければいけないほど重大な事でなければ、そのまま Shell 関数で利用すれ
ばいいだけだ、という事に気づいて欲しいという意図があったのです。

ちょっと手抜きコーディングですが、こんな感じで。

<c:\aaa.bat> ←予め、コマンドをバッチファイル化しておきます
ipconfig /all | find "IP Address" > c:\aaa.txt
ipconfig /all | find "DHCP" >> c:\aaa.txt

<Form1.frm>
Private Sub Command1_Click()
    Const cBat As String = "c:\aaa.bat"
    Const cTxt As String = "c:\aaa.txt"
    Dim lw As Long
    Dim cw As String
    Dim cIP As String

    If Dir(cTxt) <> "" Then Kill cTxt

    Shell cBat

    While lw = 0
        DoEvents
        If Dir(cTxt) <> "" Then
            lw = FileLen(cTxt)
            If lw < 60 Then lw = 0
        End If
    Wend

    Open cTxt For Input As #1
    Line Input #1, cw
    cIP = Mid(cw, InStr(cw, ":") + 1)

    Line Input #1, cw   'Dummy
    Line Input #1, cw
    If Right(cw, 2) = "No" Then
        MsgBox cIP + " is not used DHCP"
    Else
        MsgBox cIP + " is used DHCP"
    End If
    Close #1
End Sub

手抜き部分は、バッチの終了判定方法と、2枚のLANカードを考慮していない点ですね。
#212-3
RE#198:DHCPの判定
> IPアドレスの表示や、コンピュータ名の表示はサンプルが色々あるのですが、DHCPかどうかを
> 調べてくれるサンプルが無く、書籍にも詳しい事が書いていないので困り果てています。

WMIの「Win32_NetworkAdapterConfiguration」クラスを利用してみては如何でしょう。
DHCPEnabledプロパティあたりで取得できると思います。(未確認)

http://msdn.microsoft.com/library/en-us/wmisdk/r_32hard4_6oq6.asp
#217-3
RE#198:DHCPの判定(お礼)
やまです。

るーにさん、せつらさん
shell関数というのを知りませんでした。勉強不足であったと自覚しました。
shell関数の事を調べ、実現可能か判断したいと思います。
ありがとうございます。

魔界の仮面弁士さん
英語のサイトですね。英語が苦手なので、すぐには理解できませんでした(内容も難しすぎて(^^;
じっくり理解していきたいと思います。
このページと関連する記事:
#20811-0DHCPの判定2002-05-16(木) 13:25
#40456-0ピクチャーの画像(色識別等)比較方法2001-03-18(日) 20:59
#269-4全角のコンピュータ名からIPアドレスを取得する方法2003-05-07(水) 17:29
#47099-0CSVファイルの比較方法2001-09-21(金) 20:40
#20997-0不一致行のチェックプログラム2002-05-31(金) 11:30
#6986-0ディレクトリ検索方法2000-03-29(水) 17:33
#28533-0pingコマンド2002-05-07(火) 14:45
#47095-0CSVファイルの取り込みについて2001-09-21(金) 19:54
#28614-0続・ファイル内の文字列を置換したい。2002-05-10(金) 14:57
#28627-0VBでPING2000-08-24(木) 19:27
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)