Colección de citas famosas - Frases motivadoras - Diccionario WiFi de lenguaje fácil

Diccionario WiFi de lenguaje fácil

#¿Incluir? "stdafx.h"

#¿Contiene? & ltstdio.h & gt

#¿Contiene? <windows.h>?

#¿Incluir? & ltwininet.h & gt

#pragma? comentario(lib,? "ws2_32.lib")

#pragma? anotación(lib,?"wininet.lib")

typedef? DWORD (_ _ stdcall? * IcmpSendEcho) (HANDLE, IPAddr, LPVOID, WORD, PIP_OPTION_INFORMATION, LPVOID, DWORD, DWORD); ¿manejar? (__stdcall?* icmp crear archivo) (void);

typedef? ¿Booleano? (__stdcall?*IcmpCloseHandle)(handle);

icmpcreatefileficimpcreatefile;

IcmpSendEchofIcmpSendEcho

IcmpCloseHandle? fIcmpCloseHandle

¿Booleano? init fun(void)

{

HMODULE? lModl

lmo dl = (HMODULE) LoadLibrary? ("iphlapi.dll");

¿Si? (lModl==0)? {

printf("¿Cargar? ¿Eso? ¿Biblioteca? ¿Hay alguna? ¡Error! \n "); Falso;

}

De lo contrario {

fIcmpCreateFile = (IcmpCreateFile) GetProcAddress? (lModl, "icmp crear archivo");

fIcmpSendEcho = (IcmpSendEcho)GetProcAddress? (lModl, "IcmpSendEcho");

fIcmpCloseHandle = (IcmpCloseHandle)GetProcAddress? (lModl, "IcmpCloseHandle");

¿Si? (fIcmpCreateFile==NULL?||?fIcmpSendEcho==NULL?||?fIcmpCloseHandle == NULL ) {

printf ("¿Cargar? ¿Esa? ¿Función? ¿Está ahí? ¡Error! \n ");

¿Volver? Falso;

}

¿Devolver? Verdadero;

}

}

LPHANDLE? obteniendo identificador(void)

{

¿Identificador? pHandle

pHandle = fIcmpCreateFile();

¿Si? ((int)pHandle = =-1) {

printf("¿Cargar? ¿ICMP? ¿Manejar? ¿Hay alguno? ¡Error!\n ");

¿Regresión? 0;

}

En caso contrario {

¿Devolver? (LPHANDLE)pHandle;

}

}

¿Booleano? ping(LPSTR?pIPAddr)

{

¿Identificar? iHwnd

iHwnd = (HANDLE) obteniendo HANDLE();

IPAddr? pAddr

pAddr =

(dirección IP)inet_addr? ((char?*)pip addr);

icmp_echo_reply? pData

for(int?i=1;i<=LoopSendi++)

{

fIcmpSendEcho(iHwnd, pAddr, NULL, 0, NULL, (LPVOID) &pData,sizeof(icmp_echo_reply),0);

¿Si? (pData.Status==0)

{

printf("Resultados devueltos por la prueba de ping:? Time=%dms?TTL=%d?\n", (int) pData.tiempo de ida y vuelta, (int)pData opciones

}

Otro

{

printf(" Ping" Prueba fallida...\n");

}

}

¿Y si? (!fIcmpCloseHandle(iHwnd))? printf("¿Cerrar? ¿Identificador? ¿Hay alguno? ¡Error! \n ");

¿Regresar? Verdadero;

}

En cuanto a la función principal, puede escribirla usted mismo y simplemente pasar una dirección IP a la función Ping para ejecutarla.

Código del módulo VB correspondiente.

¿Privado? ¿declarar? ¿Función? ¿IcmpCrearArchivo? ¿Lib? ¿"iphlpapi.dll"? ()?como qué? Largo

¿Privado? ¿declarar? ¿Función? ¿IcmpEnviarEcho? ¿Lib? ¿"iphlpapi.dll"? (¿bydil? IcmpHandle? ¿como qué? dragón? bydil. Dirección de destino? ¿como qué? dragón? bydil. RequestData? ¿como qué? Cadena,? bydil. RequestSize? ¿como qué? dragón? bydil. RequestOptions ? como ? búfer de respuesta ? como ? bydil ? ¿Como qué? Largo

¿Privado? ¿declarar? ¿Función? ¿IcmpCloseHandle? ¿Lib? ¿"iphlpapi.dll"? (¿ByDir? ¿IcmpHandle? ¿Como qué? ¿Largo)? ¿Como qué? Largo

¿Privado? ¿declarar? ¿Función? inet_addr? ¿Lib? ¿"wsock32.dll"? (¿byadil? cp? ¿como qué? cadena)? ¿Como qué? Largo

¿Privado? ¿tipo? IP_options_info

ttl? ¿Como qué? Byte ''Tiempo de vivir

Tosas? ¿byte? ? Tipo de servicio

¿Marcar? ¿Como qué? Bytes "" Bandera de encabezado IP

OpcionesTamañoAs? ¿byte? ? Tamaño de los datos de opciones, en bytes

OptionsData? ¿Como qué? ¿Es largo? Puntero de datos de opciones

¿Fin? Tipo

¿Privado? ¿tipo? ICMP_ECHO_REPLY

¿Dirección? El largo '''''''''' contiene la dirección IP a la que se responde.

¿Estado a? long'' contiene el estado de la respuesta (consulte la sección Constantes más adelante).

¿Medición de ida y vuelta? ¿Es largo? ? Tiempo de ida y vuelta RTT (milisegundos)

DataSizeAs? ¿Entero? Tamaño de los datos de respuesta (bytes)

¿Suscrito? ¿Entero? ¿Mantener

ptrDataAs? ¿Es largo? ? Puntero de datos de respuesta

¿Opción a? ¿IP_OPCIÓN_INFO? Opciones de respuesta

¿Datos como servicio? ¿Cadena? *?250

¿Fin? Tipo

¿Público? ¿tipo? Rtn _ ICMPTestMessage

¿Dirección? ¿Como qué? ¿Estado de línea

? ¿Como qué? ¿Cadena? '' se escribe usando funciones.

¿La prueba fue exitosa? ¿Como qué? ¿Booleano? '' ¿Prueba exitosa?

¿Tiempo? ¿Como qué? ¿Tamaño largo? ¿Como qué? ¿TTL largo? ¿Como qué? ¿Final largo

? Tipo

¿Público? ¿Función? RtnICMPTestMessage(ByVal?TestIP?¿Como qué?Cadena,?ByDir.Timeout?AsWhat?Dragon?ByDir.Packed?AsWhat?Long)? ¿Como qué? Rtn _ ICMPTestMessage

¿Atenuado? ¿IcmpMango? ¿Como qué? ¿IcmpHandle largo

? =?icmp crear archivo''''Crear un identificador de prueba.

¿Oscuro? ¿ICMPResponder? ¿Como qué? ICMP_ECHO_REPLY

¿Atenuado? ¿LongIPAdde? ¿Como qué? Long

LongIPAddr? =?inet_addr(TestIP)

¿Atenuado? ¿Enviar datos? ¿Como qué? La cadena "" está configurada para el tamaño del paquete.

¿Enviar datos? =?espacio(tamaño del paquete)

IcmpSendEcho? ¿IcmpMango? LongIPAddr? ¿Enviar datos? len(EnviarDatos),? 0,?ICMPRespuesta,? len(ICMPRespuesta)? Tiempo de espera

¿Y si? ICMPRespuesta. ¿estado? =?0?Entonces

RtnICMPTestMessage. ¿DIRECCIÓN? =?TestIP

RtnICMPTestMessage.size? =?ICMPRespuesta. Tamaño de datos

RtnICMPTestMessage. ¿estado? =?RtnICMPState(ICMPReply.State)

RtnICMPTestMessage.time? =?ICMPRespuesta. Tiempo de ida y vuelta

RtnICMPTestMessage.ttl? =?ICMPRespuesta. Opciones.ttl

RtnICMPTestMessage.test¿Éxito? =?true''''La prueba fue exitosa.

Otro

RtnICMPTestMessage. ¿DIRECCIÓN? =?PruebaIP

RtnICMPTestMessage. ¿estado? =?RtnICMPState(ICMPReply.State)

RtnICMPTestMessage.testSuccess? =?False ''La prueba falló.

¿Fin? Si

IcmpCloseHandle? IcmpHandle

¿Fin? Función