Определение ip

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Определение ip

Сообщение Cryonyx » 09.12.2005 (Пт) 10:14

Здравы будьте, товарищи.
Вопрос в лоб: как можно определить айпи компьютера, с которого запускается моя программа? (я имею в виду не 127.х.х.х, а нормальный локальный сетевой адрес)
Поиск по форуму и гуглу дал примеры определения других компов в сети, а вот "своего"...
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.12.2005 (Пт) 10:41

А какой именно IP тебе нужен?
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 09.12.2005 (Пт) 11:36

Код: Выделить всё
Option Explicit


Private Const ANY_SIZE = 16             
Private Type MIB_IPADDRROW
  dwAddr(0 To 3) As Byte                ' IP address
  dwIndex As Long                       ' interface index
  dwMask(0 To 3) As Byte                ' subnet mask
  dwBCastAddr(0 To 3) As Byte           ' broadcast address
  dwReasmSize As Long                   ' rassembly size
  unused As Long                        ' not currently used
End Type
Private Type MIB_IPADDRTABLE
  dwNumEntries As Long                  ' number of entries in the table
  Table(1 To ANY_SIZE) As MIB_IPADDRROW ' array of IP address entries
End Type
Private Declare Function GetIpAddrTable Lib "iphlpapi" (pIpAddrTable As MIB_IPADDRTABLE, pdwSize As Long, ByVal bOrder As Long) As Long

Sub Main()
Dim Table As MIB_IPADDRTABLE, i As Long
If GetIpAddrTable(Table, Len(Table), 0) = 0 Then
With Table
    For i = 1 To .dwNumEntries
    With .Table(i)
        Debug.Print "IP: " & .dwAddr(0) & "." & .dwAddr(1) & "." & .dwAddr(2) & "." & .dwAddr(3)
        Debug.Print "Interface #: " & .dwIndex
        Debug.Print "Subnet mask: " & .dwMask(0) & "." & .dwMask(1) & "." & .dwMask(2) & "." & .dwMask(3)
        Debug.Print "Broadcast: " & .dwBCastAddr(0) & "." & .dwBCastAddr(1) & "." & .dwBCastAddr(2) & "." & .dwBCastAddr(3)
        Debug.Print
    End With
    Next
End With
End If
End Sub

Private Sub Form_Load()
    Main
End Sub

Cryonyx
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 292
Зарегистрирован: 12.11.2004 (Пт) 15:40
Откуда: Net_SubStream

Сообщение Cryonyx » 10.12.2005 (Сб) 14:05

2 Sirik
Оно! То, что надо. А то у нас в сети вандал завёлся - хочу вычислить... :twisted:
Если тебе не по сердцу мой путь,
Выбери сам или выбери с кем,
А мне по барабану вся эта муть -
Я не червонец, чтобы нравиться всем!
© К.Кинчев
--
Мой блог: щёлкай сюда


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Don Leno, SemrushBot и гости: 133

    TopList