تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] استفسار :- عرض ارقام الاي بي المربوطه في الشبكه
#1
السلام عليكم ورحمة الله


تعديل :-  الكود شغال شكرا لكم 


كود :
 Public Const SV_TYPE_ALL As Integer = &HFFFFFFFF

   Public Structure SERVER_INFO_101
       Public Platform_ID As Integer
       <MarshalAsAttribute(UnmanagedType.LPWStr)> Public Name As String
       Public Version_Major As Integer
       Public Version_Minor As Integer
       Public Type As Integer
       <MarshalAsAttribute(UnmanagedType.LPWStr)> Public Comment As String
   End Structure

   Public Declare Unicode Function NetServerEnum Lib "Netapi32.dll" (
       ByVal Servername As Integer, ByVal Level As Integer, ByRef Buffer As IntPtr, ByVal PrefMaxLen As Integer,
       ByRef EntriesRead As Integer, ByRef TotalEntries As Integer, ByVal ServerType As Integer,
       ByVal DomainName As String, ByRef ResumeHandle As Integer) As Integer

   Public Declare Function NetApiBufferFree Lib "Netapi32.dll" (ByVal lpBuffer As IntPtr) As Integer

   Public Shared Function GetNetworkComputers(Optional ByVal DomainName As String = Nothing) As DataTable
       Dim ServerInfo As SERVER_INFO_101
       Dim MaxLenPref As Integer = -1
       Dim level As Integer = 101
       Dim ResumeHandle As Integer = 0
       Dim ret, EntriesRead, TotalEntries As Integer
       Dim BufPtr As IntPtr

       Dim dt As New DataTable
       dt.Columns.Add("IPs")
       dt.Columns.Add("PCs")
       Try
           ret = NetServerEnum(0, level, BufPtr, MaxLenPref, EntriesRead, TotalEntries, SV_TYPE_ALL, DomainName, ResumeHandle)
           If ret = 0 Then
               For i As Integer = 0 To EntriesRead - 1
#Disable Warning BC42109 ' Variable is used before it has been assigned a value
                   ServerInfo = Marshal.PtrToStructure(IncrementPointer(BufPtr, i * Marshal.SizeOf([structure]:=ServerInfo)), GetType(SERVER_INFO_101))
#Enable Warning BC42109 ' Variable is used before it has been assigned a value
                   Dim Rw As DataRow = dt.NewRow

                   Dim IPstring As String = ""
                   For Each ip As Net.IPAddress In Net.Dns.GetHostAddresses(ServerInfo.Name)
                       'Debug.WriteLine(ip.ToString)
                       If Not ip.IsIPv6LinkLocal Then
                           IPstring = IPstring & ip.ToString
                       End If
                   Next
                   Rw(0) = IPstring.ToString
                   Rw(1) = ServerInfo.Name.ToString
                   dt.Rows.Add(Rw)
               Next
           End If
           NetApiBufferFree(BufPtr)
       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
       Return dt
   End Function

   Private Shared Function IncrementPointer(ByVal ptr As IntPtr, ByVal i As Integer) As IntPtr
       If IntPtr.Size = 4 Then
           Return New IntPtr(ptr.ToInt32 + i)
       End If
       If IntPtr.Size = 8 Then
           Return New IntPtr(ptr.ToInt64 + i)
       End If
   End Function
   Private Sub btnGet_Click(sender As Object, e As EventArgs) Handles btnGet.Click
       'LstBx.DataSource = GetNetworkComputers()
       LstBx.Items.Clear()
       Dim dtt As DataTable = GetNetworkComputers()
       If dtt.Rows.Count > 0 Then
           For i As Integer = 0 To dtt.Rows.Count - 1
               LstBx.Items.Add(dtt.Rows(i)(0).ToString & ":" & dtt.Rows(i)(1).ToString)
           Next
       End If
       dtt.Dispose()
   End Sub

بارك الله فيكم وشكرا
الرد
تم الشكر بواسطة: elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] استفسار :- هل صحيح كتابه الكود بهذه الطريقه dubai.eig 8 193 14-02-19, 06:52 PM
آخر رد: ابراهيم ايبو
  [VB.NET] استفسار بخصوص تحريك الماوس والضغط dubai.eig 0 62 08-02-19, 06:42 PM
آخر رد: dubai.eig
  [VB.NET] استفسار :- بخصوص ALTER TABLE dubai.eig 1 98 01-02-19, 04:22 PM
آخر رد: asemshahen5
  [VB.NET] استفسار :- بخصوص New Point form Top dubai.eig 1 101 29-01-19, 05:50 PM
آخر رد: ابراهيم ايبو
  [VB.NET] استفسار :- كيفية قراءة معلومات UDP dubai.eig 0 115 21-01-19, 06:49 PM
آخر رد: dubai.eig
Bug [VB.NET] استفسار لأفضل طريقة لتخزين رقم الفاتورة sniperjawadino 8 346 16-01-19, 12:37 AM
آخر رد: sniperjawadino
  استفسار بشأن جدول العملات alfaiz678 5 256 30-12-18, 09:28 AM
آخر رد: alfaiz678
  [VB.NET] استفسار :- بخصوص textbox dubai.eig 0 110 27-12-18, 12:27 PM
آخر رد: dubai.eig
  [VB.NET] استفسار :- بخصوص اخذ نص من برنامج اخر WM_GETTEXT dubai.eig 0 105 24-12-18, 09:47 AM
آخر رد: dubai.eig
  استفسار مهم حول listbox اخواني ro0omio0o1 0 104 23-12-18, 12:30 AM
آخر رد: ro0omio0o1

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم