tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルネットワークコンピュータ名を取得
記事No14587
投稿日: 2010/04/02(Fri) 10:55
投稿者どっぽん
APIを使ってネットワークに接続されているコンピュータ名を取得

基本的な事ですみませんが、
Dim nr As NETRESOURCE
Dim lpnr As LPNETRESOURCE
のところでユーザー定義型が定義されてませんとエラーしますが、
どうすれば良いですか?宜しくお願い致します。


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

[ツリー表示へ]
タイトルRe: ネットワークコンピュータ名を取得
記事No14588
投稿日: 2010/04/02(Fri) 12:09
投稿者魔界の仮面弁士
> APIを使ってネットワークに接続されているコンピュータ名を取得
WNetOpenEnum を使うために、Declare 宣言が必要なように、
NETRESOURCE を使うためには Type 宣言が必要ですし、
RESOURCETYPE_ANY のために、Const 宣言が必要となります。

現在のソースは、どこかのサンプルを利用した物でしょうか?
であれば、そこに各種宣言が掲載されていませんでしたか?

[ツリー表示へ]
タイトル見あたりませんでした
記事No14590
投稿日: 2010/04/02(Fri) 12:12
投稿者どっぽん
すみません、見あたりませんでした。

[ツリー表示へ]
タイトルRe: 見あたりませんでした
記事No14591
投稿日: 2010/04/02(Fri) 12:33
投稿者花ちゃん
> すみません、見あたりませんでした。

下記を参考にしたなら、その下の方に、以下は、宣言部です。
標準モジュールに入れてください。 と書いていませんか?

http://www.kit.co.jp/vbit/QAndA08.htm#ネットワークに接続されている全てのコンピュータ名

[ツリー表示へ]
タイトルRe^2: 見あたりませんでした
記事No14593
投稿日: 2010/04/05(Mon) 08:21
投稿者どっぽん
有ります。大変すみません、無知を通り越してましてご迷惑をおかけします。
なんとか昨日遅く動作致しました。有り難う御座います。

[ツリー表示へ]