• ベストアンサー

VBでネットワーク上のコンピュータ名をチェック

ある コンピュータ名を持つコンピュータがネットワークに繋がっているかどうかを調べて 返すということをしたいのですが… 例えば テキストボックスtext1 に"CP1"と入力して コマンドボタンを押すと、ネットワーク上でCP1 が認識できたら OKとメッセージ表示、できなかったらNOとメッセージ表示と。 NET VIEW などのコマンドを使えばよいのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

APIを使ってネットワークに接続されているコンピュータ名を取得します。 Dim nr As NETRESOURCE Dim lpnr As LPNETRESOURCE Dim bnr(1000) As Byte Dim strRemoteName As String Dim strComNeme As String Dim hEnum As Long Dim BufSize As Long Dim ret As Long strRemoteName = String$(512, 0) nr.dwScope = RESOURCE_GLOBALNET nr.dwType = RESOURCETYPE_ANY nr.dwDisplayType = RESOURCEDISPLAYTYPE_DOMAIN nr.dwUsage = RESOURCEUSAGE_CONTAINER nr.lpRemoteName = "ドメイン名" nr.lpProvider = "Microsoft Windows Network" ret = WNetOpenEnum(RESOURCE_GLOBALNET, RESOURCETYPE_ANY, 0, nr, hEnum) BufSize = 1000 Do While WNetEnumResource(hEnum, 1, bnr(0), BufSize) = NO_ERROR MoveMemory lpnr, bnr(0), Len(lpnr) lstrcpy strRemoteName, lpnr.lpRemoteName Debug.Print Left$(strRemoteName, InStr(strRemoteName, vbNullChar) - 1) Loop WNetCloseEnum hEnum でネットワーク上のコンピュータ名を取得できるのでその中に指定したコンピュータ名があればOKなければNoのメッセージを出す。

kistune
質問者

お礼

早速書き込んでやってみたところ、できましたー。ありがとうございました。

関連するQ&A

専門家に質問してみよう