PDA

View Full Version : بدست آوردن IP کامپیوتر



mahdi1373
یک شنبه 21 شهریور 1389, 16:24 عصر
سلام،
من دنبال تابع یا کدی می گردم که با اون بشه IP کامپیوتر رو توی شبکه و اینترنت پیدا کرد. یک راحی بلدم با winsock، ولی نمیخواهم با اون انجام بدمش.
ممنون میشم اگه کمکم کنید.

IamOverlord
دوشنبه 22 شهریور 1389, 01:40 صبح
سلام دوست عزیز!
شما برای این که IP Address یه سیستم رو در شبکه پیدا کنی باید یه چیز دیگه ای از اون داشته باشی، مثل hostname.
:چشمک:

MEhdi Sobhani
دوشنبه 22 شهریور 1389, 03:43 صبح
سلام

خدمت شما



Private Declare Function GetIpAddrTable_API Lib "IpHlpApi" Alias "GetIpAddrTable" (pIPAddrTable As Any, pdwSize As Long, ByVal bOrder As Long) As Long
Public Function GetIpAddrTable()
Dim Buf(0 To 511) As Byte
Dim BufSize As Long: BufSize = UBound(Buf) + 1
Dim rc As Long
rc = GetIpAddrTable_API(Buf(0), BufSize, 1)
If rc <> 0 Then Err.Raise vbObjectError, , "GetIpAddrTable failed with return value " & rc
Dim NrOfEntries As Integer: NrOfEntries = Buf(1) * 256 + Buf(0)
If NrOfEntries = 0 Then GetIpAddrTable = Array(): Exit Function
ReDim IpAddrs(0 To NrOfEntries - 1) As String
Dim i As Integer
For i = 0 To NrOfEntries - 1
Dim j As Integer, s As String: s = ""
For j = 0 To 3
s = s & IIf(j > 0, ".", "") & Buf(4 + i * 24 + j)
Next
IpAddrs(i) = s
Next
GetIpAddrTable = IpAddrs
End Function

Private Sub Command1_Click()
Dim IpAddrs
IpAddrs = GetIpAddrTable
For i = LBound(IpAddrs) To UBound(IpAddrs)
MsgBox IpAddrs(i)
Next
End Sub