- PR -

ローカルネットワーク上の他のPCのコンピュータ名の取得

投稿者投稿内容
だい
常連さん
会議室デビュー日: 2004/08/03
投稿数: 22
投稿日時: 2005-10-28 12:01
お世話になっております。
ローカルネットワーク上のユーザーに簡易メッセージを送る
アプリを作成しようとします。

ローカルネットワーク上の
他のPCの全てのコンピュータ名の取得を行いたいのですが、
方法がわからず困ってます。

よろしければ取得方法を伝授してください

----------------------------
VB.NETにて開発
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-28 12:08
WNetOpenEnum、WNetEnumResource 辺りの API が必要になるのかな。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
だい
常連さん
会議室デビュー日: 2004/08/03
投稿数: 22
投稿日時: 2005-10-28 13:18

---------------------------------------------------------------

>WNetOpenEnum、WNetEnumResource 辺りの API が必要になるのかな。

---------------------------------------------------------------
できればその辺りのAPIでの取得方法の
詳細をご教授していただけませんか?

もしくは違う方法での取得でも構いませんが・・・。
申し訳ありませんが宜しく御願いします。


きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2005-10-28 13:22
引用:

だいさんの書き込み (2005-10-28 13:18) より:
できればその辺りのAPIでの取得方法の
詳細をご教授していただけませんか?


↓これかな?
http://support.microsoft.com/default.aspx?scid=kb;ja;177697

#ついでに
http://search.microsoft.com/search/search.aspx?st=a&View=ja-jp&s=4
http://support.microsoft.com/search/?adv=1
葉瀬崎浩樹
大ベテラン
会議室デビュー日: 2005/06/28
投稿数: 115
お住まい・勤務地: 兵庫県
投稿日時: 2005-10-28 13:32
.netからのAPIの呼び出し方がわからないのかな?

・チュートリアル : Windows API の呼び出し
・Win32 APIやDLL関数を呼び出すには?
・APIの引数の型で困ったとき
・DLL呼び出し

APIの戻り値判定の参考に。
・Win32エラーコード一覧

それでもできなかったらここ。(C#だけど)
最終手段

#う、VB.netって書いてあったべ。
#ということで、リンク追加

[ メッセージ編集済み 編集者: 葉瀬崎浩樹 編集日時 2005-10-28 13:40 ]
だい
常連さん
会議室デビュー日: 2004/08/03
投稿数: 22
投稿日時: 2005-10-28 13:54
貴重な返答ありがとございます。

APIの呼び出しから実行取得までの方法がわからないのですが
返答を参考にがんばってみます。

明智重蔵
大ベテラン
会議室デビュー日: 2005/09/05
投稿数: 127
投稿日時: 2005-10-28 14:47
Shellメソッドから

net send * "( ・∀・)"
でもできますね


OracleSQLパズル
http://oraclesqlpuzzle.hp.infoseek.co.jp
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-10-28 14:52
とりあえず、面倒である定義だけ。

コード:

Public Class WNet

  #Region " WNetOpenEnum メソッド "

    <System.Runtime.InteropServices.DllImport("MPR.DLL", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
    Public Shared Function WNetOpenEnum( _
        ByVal Scope       As ResourceScope, _
        ByVal Type        As ResourceType, _
        ByVal Usage       As ResourceUsage, _
        <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.AsAny)> _
        ByVal NetResource As Object, _
        ByRef EnumHandle  As System.IntPtr) As Integer
    End Function

  #End Region

  #Region " WNetCloseEnum メソッド "

    <System.Runtime.InteropServices.DllImport("MPR.DLL", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
    Public Shared Function WNetCloseEnum( _
        ByVal EnumHandle As System.IntPtr) As Integer
    End Function

  #End Region

  #Region " WNetEnumResource メソッド "

    <System.Runtime.InteropServices.DllImport("MPR.DLL", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
    Public Shared Function WNetEnumResource( _
        ByVal EnumHandle As System.IntPtr, _
        ByRef Count      As Integer, _
        ByVal Buffer     As System.IntPtr, _
        ByRef BufferSize As Integer) As Integer
    End Function

  #End Region

  #Region " NetResource 構造体 "

    Private Structure NetResource
        Public Scope       As ResourceScope
        Public Type        As ResouceType
        Public DisplayType As ResourceDisplayType
        Public Usage       As ResourceUsage
        <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)> _
        Public LocalName   As String
        <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)> _
        Public RemoteName  As String
        <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)> _
        Public Comment     As String
        <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPTStr)> _
        Public Provider    As String
    End Structure

  #End Region

  #Region " ResourceScope 列挙体 "

    Public Enum ResourceScope
        Connected = &H00000001
        Globalnet = &H00000002
        Rememberd = &H00000003
        Recent    = &H00000004
        Context   = &H00000005
    End Enum

  #End Region

  #Region " ResourceType 列挙体 "

    Public Enum ResourceType
        Any      = &H00000000
        Disk     = &H00000001
        Print    = &H00000002
        Reserved = &H00000008
    End Enum

  #End Region

  #Region " ResourceDisplayType 列挙体 "

    Public Enum ResourceDisplayType
        Generic      = &H00000000
        Domain       = &H00000001
        Server       = &H00000002
        Share        = &H00000003
        File         = &H00000004
        Group        = &H00000005
        Network      = &H00000006
        Root         = &H00000007
        ShareAdmin   = &H00000008
        Directory    = &H00000009
        Tree         = &H0000000A
        NdsContainer = &H0000000B
    End Enum

  #End Region

  #Region " ResourceUsage 列挙体 "

    Public Enum ResourceUsage
        Connectable   = &H00000001
        Container     = &H00000002
        NoLocalDevice = &H00000004
        Sibling       = &H00000008
        Attached      = &H00000010
        All           = (Connectable Or Container Or Attached)
    End Enum

  #End Region

End Class


あー疲れました。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌

スキルアップ/キャリアアップ(JOB@IT)