굿

로컬 IP 가지고 오기

· 2011-03-17 (목) 11:49:34 · 2734
Option Explicit
'=========// IP 주소 가져오기 //==========================================================
Public Const ERROR_SUCCESS As Long = 0
Public Const MAX_ADAPTER_NAME_LENGTH As Long = 256
Public Const MAX_ADAPTER_DESCRipTION_LENGTH As Long = 128
Public Const MAX_ADAPTER_ADDRESS_LENGTH As Long = 8


Public Type ip_ADDRESS_STRING
ipAddr(0 To 15) As Byte
End Type


Public Type ip_MASK_STRING
ipMask(0 To 15) As Byte
End Type



Public Type ip_ADDR_STRING
dwNext As Long
ipAddress As ip_ADDRESS_STRING
ipMask As ip_MASK_STRING
dwContext As Long
End Type


Public Type ip_ADAPTER_INFO
dwNext As Long
ComboIndex As Long 'reserved
sAdapterName(0 To (MAX_ADAPTER_NAME_LENGTH + 3)) As Byte
sDescription(0 To (MAX_ADAPTER_DESCRipTION_LENGTH + 3)) As Byte
dwAddressLength As Long
sipAddress(0 To (MAX_ADAPTER_ADDRESS_LENGTH - 1)) As Byte
dwIndex As Long
uType As Long
uDhcpEnabled As Long
CurrentipAddress As Long
ipAddressList As ip_ADDR_STRING
GatewayList As ip_ADDR_STRING
DhcpServer As ip_ADDR_STRING
bHaveWins As Long
PrimaryWinsServer As ip_ADDR_STRING
SecondaryWinsServer As ip_ADDR_STRING
LeaseObtained As Long
LeaseExpires As Long
End Type


Public Declare Function GetAdaptersInfo Lib "iphlpapi.dll" _
(pTcpTable As Any, _
pdwSize As Long) As Long


Public Declare Sub CopyMemory Lib "kernel32" _
Alias "RtlMoveMemory" _
(dst As Any, _
src As Any, _
ByVal bcount As Long)


Public Declare Function DeleteUrlCacheEntry Lib "Wininet.dll" _
Alias "DeleteUrlCacheEntryA" _
(ByVal lpszUrlName As String) As Long


Public Declare Function lstrlenW Lib "kernel32" _
(ByVal lpString As Long) As Long



Public Function LocalipAddress() As String

On Error Resume Next

Dim cbRequired As Long
Dim buff() As Byte
Dim ptr1 As Long
Dim sipAddr As String
Dim Adapter As ip_ADAPTER_INFO

LocalipAddress = ""

Call GetAdaptersInfo(ByVal 0&, cbRequired)

If cbRequired > 0 Then
ReDim buff(0 To cbRequired - 1) As Byte
If GetAdaptersInfo(buff(0), cbRequired) = ERROR_SUCCESS Then
ptr1 = VarPtr(buff(0))
Do While (ptr1 <> 0)
CopyMemory Adapter, ByVal ptr1, LenB(Adapter)
With Adapter
sipAddr = TrimNull(StrConv(.ipAddressList.ipAddress.ipAddr, vbUnicode))
If Len(sipAddr) > 0 Then Exit Do
ptr1 = .dwNext
End With 'With Adapter
Loop 'Do While (ptr1 <> 0
End If 'If GetAdaptersInfo
End If 'If cbRequired > 0

LocalipAddress = sipAddr

End Function

Public Function TrimNull(startstr As String) As String

TrimNull = Left$(startstr, lstrlenW(StrPtr(startstr)))

End Function<div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 16:46:12 기타에서 이동 됨]</div>
|
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
11-09-08 조회 2,714
11-09-05 조회 2,592
11-09-02 조회 3,442
11-09-01 조회 2,514
11-09-01 조회 2,706
11-09-01 조회 3,977
11-08-31 조회 2,726
11-08-28 조회 2,455
11-08-26 조회 2,363
11-08-19 조회 2,592
11-08-19 조회 2,510
11-08-17 조회 2,622
11-08-17 조회 2,672
11-08-13 조회 2,478
11-08-11 조회 3,456
11-08-11 조회 2,676
11-08-08 조회 2,920
11-08-06 조회 2,660
11-08-06 조회 2,786
11-08-05 조회 2,988
11-08-05 조회 2,403
11-08-04 조회 2,851
11-08-02 조회 2,345
11-07-22 조회 3,918
11-07-21 조회 2,244
11-07-13 조회 2,617
11-07-08 조회 2,923
11-07-05 조회 2,064
11-06-28 조회 2,995
11-06-22 조회 2,510
11-06-22 조회 2,189
11-06-13 조회 2,287
11-06-07 조회 4,106
11-06-04 조회 2,914
11-05-19 조회 3,186
11-05-06 조회 2,934
11-04-20 조회 2,361
11-04-19 조회 2,500
11-04-05 조회 3,053
11-04-04 조회 2,967
11-04-03 조회 2,684
11-04-02 조회 2,801
11-04-01 조회 2,308
11-04-01 조회 2,458
11-04-01 조회 3,054
11-03-25 조회 2,527
11-03-18 조회 2,222
11-03-17 조회 3,166
11-03-10 조회 2,309
11-03-10 조회 2,308
11-03-10 조회 2,559
11-03-07 조회 3,725
11-03-05 조회 2,413
11-03-05 조회 4,897
11-03-02 조회 2,509
11-03-01 조회 2,466
11-02-24 조회 2,540
11-02-24 조회 2,368
11-01-17 조회 5,096
11-01-14 조회 3,048
11-01-07 조회 3,050
10-12-29 조회 2,390
10-12-28 조회 2,606
10-12-24 조회 2,335
10-12-09 조회 2,423
10-12-09 조회 3,628
10-12-08 조회 3,603
10-12-08 조회 3,007
10-12-08 조회 2,846
10-12-08 조회 3,238
10-11-30 조회 2,610
10-11-25 조회 2,470
10-11-15 조회 2,237
10-11-14 조회 4,205
10-10-28 조회 2,888
10-10-26 조회 3,187
10-10-13 조회 2,466
10-10-12 조회 2,688
10-10-09 조회 2,270
10-10-05 조회 3,290
10-09-30 조회 2,948
10-09-26 조회 4,069
10-09-24 조회 2,814
10-09-20 조회 2,654
10-09-20 조회 3,022
10-09-18 조회 2,393
10-09-18 조회 2,437
10-09-17 조회 4,219
10-09-15 조회 3,213
10-09-15 조회 2,705
10-09-15 조회 2,556
10-09-15 조회 2,377
10-09-11 조회 2,538
10-09-11 조회 2,702
10-09-11 조회 2,951
10-06-30 조회 3,610
10-06-30 조회 2,445
10-06-30 조회 2,410
10-06-30 조회 2,558
10-06-11 조회 2,470