Red de conocimiento informático - Problemas con los teléfonos móviles - VB genera archivos para personalizar contraseñas.

y obtener IP

VB genera archivos para personalizar contraseñas.

y obtener IP

''Al crear una ventana, configúrala como inicio y agrega un botón y un texto

'FORM1. El código del botón es

form2.show'. 'Ingrese FOTM2

descargarme'Ocultarme

Subcomando privado1_Click()

En caso de error, reanudar siguiente

Si Text1.Text = form1.text1.text Luego

Descargarme

MainShow.Show

Salir de Sub

De lo contrario

Descargar Yo

Salir de Sub

End If

End Sub

Si desea obtener la dirección de intranet, agregue un control winsock y ejecute :

text1.test=winsock1.localip

---------------------- ---- ---------------

Si desea obtener la red externa, utilice el siguiente código:

Agregar 1 comando y 2 tex1

Código```

Const privado ERROR_SUCCESS Mientras = 0

Const privado MAX_ADAPTER_NAME_LENGTH Mientras = 256

Privado Const MAX_ADAPTER_DESCRIPTION_LENGTH Mientras = 128

Privado Const MAX_ADAPTER_ADDRESS_LENGTH Mientras = 8

Tipo privado IP_ADDRESS_STRING

IpAddr(0 a 15) Como byte

Tipo de fin

Tipo privado IP_MASK_STRING

IpMask(0 a 15) como byte

Tipo de fin

Tipo privado IP_ADDR_STRING

dwNext siempre

Dirección IP como IP_ADDRESS_STRING

Máscara Ip como IP_MASK_STRING

dwContext como larga

Tipo de fin

Tipo privado IP_ADAPTER_INFO

dwNext tan largo

ComboIndex tan largo 'reservado

sAdapterName(0 a (MAX_ADAPTER_NAME_LENGTH 3)) como byte

sDescription(0 a (MAX_ADAPTER_DESCRIPTION_LENGTH 3)) como byte

dwAddressLength como largo

sIPAddress(0 a (MAX_ADAPTER_ADDRESS_LEN)

GTH - 1)) Como Byte

dwIndex Mientras

uType Mientras

uDhcpEnabled Mientras

CurrentIpAddress Mientras

IpAddressList como IP_ADDR_STRING

GatewayList como IP_ADDR_STRING

DhcpServer como IP_ADDR_STRING

bHaveWins As Long

PrimaryWinsServer como IP_ADDR_STRING

SecondaryWinsServer como IP_ADDR_STRING

Arrendamiento obtenido durante el tiempo

El arrendamiento expira el mismo tiempo

Tipo final

Función de declaración privada GetAdaptersInfo Lib "iphlpapi .dll" _

(pTcpTable como cualquier, _

pdwSize mientras) Mientras

Declaración privada Sub CopyMemory Lib "kernel32" _

Alias ​​​​"RtlMoveMemory" _

(dst como cualquiera, _

src como cualquiera, _

ByVal bcount mientras)

Función de declaración privada URLDownloadToFile Lib "urlmon" _

Alias ​​​​"URLDownloadToFileA" _

(ByVal pCaller As Long, _

ByVal szURL Como cadena, _

ByVal szFileName Como cadena, _

ByVal dwReserved As Long, _

ByVal lpfnCB As Long) As Long

Función de declaración privada DeleteUrlCacheEntry Lib "Wininet.dll" _

Alias ​​​​"DeleteUrlCacheEntryA" _

(ByVal lpszUrlName como cadena) siempre y cuando

Declaración privada Función lstrlenW Lib "kernel32" _

(ByVal lpString As Long) As Long

Private Sub Form_Load()

Command1.Caption = "Obtener IP pública"

Texto1.Texto = DirecciónIPlocal()

Text2.Text = ""

Fin Sub

Sub Comando Privado1_Click()

Text2.Text = GetPublicIP()

Fin Sub

Función privada GetPublicIP()

Atenuar sSourceUrl como cadena

Atenuar sLocalFile como cadena

Atenuar hfile mientras

Atenuar buff como cadena

Atenuar pos1 mientras

Atenuar pos2 mientras

sSourceUrl = ".mvps.org/resources/tools/getpublicip.shtml "

sLocalFile = "c:\ip.txt"

Llamar a DeleteUrlCacheEntry(sSourceUrl)

Si DownloadFile(sSourceUrl, sLocalFile) Entonces

hfile = FreeFile

Abrir sLocalFile para entrada como #hfile

buff = Entrada$(LOF(hfile), hfile)

Cerrar #hfile

pos1 = InStr(buff, "var ip =")

Si pos1 entonces

pos1 = InStr(pos1 1, buff, "'", vbTextCompare) 1

pos2 = InStr(pos1 1, buff, "'", vbTextCompare) '- 1

GetPublicIP = Mid$(buff, pos1, pos2 - pos1)

Else

GetPublicIP = "(no se puede analizar la IP)"

Finalizar si

Eliminar sLocalFile

Else

GetPublicIP = "(no se puede acceder a la página shtml)"

Finalizar si

Función final

Función privada DownloadFile(ByVal sURL como cadena, _

ByVal sLocalFile As String) Como booleano

DownloadFile = URLDownloadToFile(0, sURL, sLocalFile, 0, 0) = ERROR_SUCCESS

Fin de función

Función privada LocalIPAddress() como cadena

Dim cbRequired As Long

Dim buff() As Byte

Dim ptr1 As Long

Atenuar sIPAddr como cadena

Atenuar adaptador como IP_ADAPTER_INFO

Llamar a GetAdaptersInfo(ByVal 0amp;, cbRequired)

Si cbRequired 0 Entonces;

ReDim buff(0 a cbRequired - 1) como byte

Si GetAdaptersInfo(buff(0), cbRequired) = ERROR_SUCCESS Entonces

ptr1 = VarPtr(buff (0))

Hacer mientras (ptr1 lt; gt; 0)

Adaptador CopyMemory, ByVal ptr1, LenB(Adaptador)

Con adaptador

sIPAddr = TrimNull(StrConv(.IpAddressList.IpAddress.IpAddr, vbUnicode))

Si Len(sIPAddr) gt 0, entonces salga Do

ptr1 = .dwNext

Finalizar con

Bucle

Finalizar si

Finalizar si

LocalIPAddress = sIPAddr

Función final

Función privada TrimNull(startstr As String) As String

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

Fin Función