التنبيهات التالية ظهرت :
Warning [2] count(): Parameter must be an array or an object that implements Countable - Line: 864 - File: showthread.php PHP 7.4.33 (Linux)
File Line Function
/showthread.php 864 errorHandler->error



تقييم الموضوع :
  • 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


الردود في هذا الموضوع
استفسار :- عرض ارقام الاي بي المربوطه في الشبكه - بواسطة dubai.eig - 24-11-18, 03:35 AM


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


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