Red de conocimiento informático - Aprendizaje de código fuente - Problema de envío de mensajes de Easy Language API

Problema de envío de mensajes de Easy Language API

.Versión 2

.Comando DLL _SendMessage, entero, , "SendMessageA"

.Manejador de ventana de parámetros, entero

. Identificador de parámetro, número entero

. Parámetros Mensaje1, número entero

. Parámetro Mensaje2, tipo de texto

.DLL comando_SendMessageA, entero, "SendMessageA"

.Identificador de ventana de parámetros, entero

.Identificador de parámetro, entero

. Parámetros Mensaje1, número entero

. Parámetro mensaje2, entero

.El comando DLL simula la operación del teclado_, entero, "user32.dll", "keybd_event", , Esta función simula la operación del teclado

. bVk, el código de llave virtual a simular

. Parámetros keyScanCode, entero, bScan, código de escaneo de la clave OEM

. Parámetro Valor de indicadores, entero, dwFlags, Constante de indicadores

Parámetro Valor específico, entero, dwExtraInfo, valor generalmente no utilizado

.DLL command_PostMessage, "PostMessageA", Enviar un. mensaje al identificador de ventana especificado

.Parameter h

.Parameter m

.Parameter p

.Parameter p

.Versión 2

.Assembly Ensamblaje 1

.Subroutine_Startup subrutina, Entero, por favor coloque el código de inicialización del módulo Easy en esta subrutina En el programa

_Subrutina Temporal () 'Llama al código de prueba después de ejecutar el código de inicialización

Return (0) 'Devuelve cualquier valor que desee

. Subroutine_Temporary Subroutine

' Esta subrutina se utiliza como programa de prueba y solo es válida en entornos de desarrollo y depuración. El sistema la borrará automáticamente antes de compilar y publicar el programa, así que utilice todo el código temporal. colocado en esta subrutina. Coloque todo el código temporal para realizar pruebas en esta subrutina. *** Tenga cuidado de no modificar el nombre, los parámetros y el tipo de valor de retorno de esta subrutina.

. Subrutina TextDrop, pública, envía contenido de texto a la ventana con el identificador de ventana especificado en segundo plano, ¡adecuado para juegos! (Sin valor de retorno)

. Identificador de ventana de parámetros, entero, identificador de ventana para recibir información

. Parámetros contenido de texto, tipo de texto, contenido de texto a enviar

. Mensaje de variable local, conjunto de bytes

. Longitud de la variable local, número entero

.

Recuento de variables locales, entero

Mensaje = al conjunto de bytes (contenido de texto)

Longitud = a la longitud del conjunto de bytes (información)

.Count Loop First (longitud, recuento )

_Drop Message (identificador de ventana, 258, mensaje [recuento], 0)

Fin del bucle de recuento ()

Envío de texto de subrutina, Público. , envía texto al fondo del cuadro de edición especificado (sin valor de retorno)

Parámetro identificador temporal, número entero, identificador del cuadro de edición para recibir información

. Parámetros temp-content, text-type, , envían el contenido del texto

_Enviar mensaje A (temp-handle, 177, 0, -1)

_Enviar mensaje (temp- manejar, 194, 1, contenido temporal)

. Mensaje clave de subrutina, público, envía un mensaje clave a la ventana con el identificador de ventana especificado (sin valor de retorno)

. Parámetros identificador de ventana, número entero, identificador de ventana para recibir el mensaje

. Código clave de parámetro (código clave), número entero, código clave de la clave

. Estado del parámetro, entero, nulo, vacío: tecla (presionar y soltar) 1 Ingresar caracteres 3 #Presionar 4 #Soltar

. Parámetros tecla de función (tecla de función), lógico (lógico), nulo, anulable falso: tecla normal verdadero: tecla de función (la tecla de función se puede utilizar para habilidades de teclas de acceso rápido, no es necesario ingresar caracteres)

. variable presionada, Entero

. Liberación de variable local, número entero

. si (ya sea una tecla de función)

presionada = 260

liberada = 261

. En caso contrario

presione = 256

suelte = 257

. si final

. si es verdadero (estado = 1)

_deliver mensaje (handle de ventana, 258, código clave, 0)

return ()

. Si es verdadero, finalice

. Si es verdadero (estado ≠ 4)

_Entregar mensaje (identificador de ventana, presionar, código clave, 0)

. Si es verdadero, finalice

. Si es verdadero (estado ≠3)

_Información del pase (identificador de ventana, versión, código clave, 0)

. Finalizar si es verdadero

Return ()

. Información de combinación de claves de subrutina, pública, envía información de combinación de claves a la ventana con el identificador de ventana especificado, ¡válido en el juego! (Sin valor de retorno)

. Identificador de ventana de parámetros, entero, identificador de ventana para recibir información

. Código clave del parámetro (código clave), número entero, código clave de la clave

. Código de clave de parámetro 1, número entero, código de clave de la tecla de función

. Código de tecla de función de parámetro 2, entero, vacío, el código de tecla de la tecla de función (opcional)

. Parámetro código de tecla de función 3, entero, vacío, código de tecla de la tecla de función (opcional)

. si es verdadero (código de tecla de función 3 ≠ 0)

mensaje _pass (identificador de ventana, 260, código de tecla de función 3, 0) 'Presionado

. Si es verdadero, finalice

.

si es verdadero (código de tecla de función 2 ≠ 0)

_ pasar mensaje (identificador de ventana, 260, código de tecla de función 2, 0) ' Presione

. Si es verdadero, final

_Drop Message (identificador de ventana, 260, código de tecla de función 1, 0) ' Presione

_Drop Message (identificador de ventana, 256, código clave, 0) ' Presione

.Si es verdadero (código de tecla de función 3 ≠ 0)

_Drop Message (identificador de ventana, 261, código de tecla de función 3, 0) ' Liberar

. Si es verdadero, finalice

. Si es verdadero (código de tecla de función 2 ≠ 0)

_Entregar mensaje (identificador de ventana, 261, código de tecla de función 2, 0) ' Liberar

. Finalizar si es verdadero

_drop mensaje (identificador de ventana, 261, código clave de función 1, 0) ' liberar

_drop mensaje (identificador de ventana, 257, código clave, 0) ' liberar

.Código de clave de subrutina, público, realiza simulación de clave (sin valor de retorno)

.Código de clave de parámetro, entero, código clave

.Estado de parámetro, entero, nulo, nulo : tecla(nota de prensa) 3 #Presiona 4 #Suelta

. Si es verdadero (estado≠4)

Simula la operación del teclado _ (código de tecla, 0, 0, 0)

. Si es verdadero, finalice

. Si es verdadero (estado ≠3)

Simular operación del teclado_(código de tecla, 0, 2, 0)

. Si es verdadero Fin

' Código virtual de marca de tecla (presione y suelte)

' Normal 0 128

' Área de tecla de inicio 1 129 33ARRIBA 34Abajo 35End 36Inicio 45Ins 46Del

' Área del cursor 1 129 37Izquierda 38Arriba 39Derecha 40Abajo

' Tecla Win 1 129 91Izquierda 92Derecha

' Tecla de menú 1 12993

' Tecla Imprimir 1 129 44

' Tecla CTRL derecha 1 129 163

' Tecla MAYÚS derecha 1 129 161

' Tecla Intro derecha 1 129 13

' Tecla de bloqueo numérico 1 129 144

' / (área de bloqueo numérico) 1 129 111

' Tecla ALT izquierda 32 128 164

' ALT derecha clave 33 129 165