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 p>
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 p>
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