Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo aprender funciones API

Cómo aprender funciones API

En primer lugar es necesario contarles a todos qué es una API. La API está contenida en un archivo de biblioteca de vínculos dinámicos adicional denominado DLL. Según la definición estándar, API es la interfaz de programación de aplicaciones de 32 bits de Windows. Es una serie de funciones, mensajes y estructuras muy complejas. Se puede decir que si alguna vez has estudiado VC, entonces API no es un problema. tú. Pero si no ha aprendido VC o no está familiarizado con la estructura de Windows95, se puede decir que aprender API será algo muy difícil.

Si abre la carpeta SISTEMA de WINDOWS, puede encontrar que hay muchos archivos adicionales llamados DLL. Una DLL contiene no sólo una función API, sino docenas de ellas. Hay aproximadamente más de 110 funciones API en total. Si quieres dominarlos todos, entonces tienes que trabajar duro, pero de hecho, realmente no necesitamos dominarlos todos. Solo debemos concentrarnos en dominar las funciones API que vienen con el sistema Windos. Me atrevo a decirte que mientras domines 100 de ellos de forma familiar, tu nivel de programación será al menos el doble de lo que es ahora. Las funciones API están estrechamente relacionadas con WINDOWS. Si aprende la API, lo primero que obtendrá es su comprensión de la arquitectura WINDOWS. Esta ganancia no es fácil.

¿Qué pasará si no confías en las API? Puedo decirte que la mayoría de ellos son libros de programación avanzada (por supuesto, este no es el nombre del libro llamado avanzado y avanzado, sino el "libro" al principio) "Contenido del libro" indica que "este libro está destinado a lectores con cierta base en VB"), las primeras preguntas suelen comenzar con la API. Por lo tanto, se puede decir que si no aprende API, probablemente permanecerá en el nivel junior y no podrá ascender.

Muchas funciones API son muy largas. ¿Quiere ver cómo se ve? La siguiente es la función API DdeClientTransaction como ejemplo:

Declarar función DdeClientTransaction Lib "user32" (pData As Byte, ByVal cbData As Long, ByVal hConv As Long, ByVal hszItem Mientras, ByVal wFmt Mientras, ByVal wType Mientras, ByVal dwTimeout Mientras, pdwResult Mientras) Mientras

¡Guau! ¿Hasta luego? Si nunca has estado expuesto a la API, creo que debes sentirte intimidado. Quizás estés pensando si deberías seguir aprendiendo. Pero no te preocupes, afortunadamente los diseñadores de Microsoft nos han proporcionado una herramienta útil, que es el visor de texto API.

A través del visor de texto API, podemos encontrar fácilmente las declaraciones de funciones, tipos de estructuras y constantes requeridas por el programa, luego copiarlos al portapapeles y finalmente pegarlos en el segmento de código del programa VB. En la mayoría de los casos, siempre que determinemos los tres aspectos de funciones, estructuras y constantes requeridas por el programa, podemos agregarlos al segmento del programa mediante las operaciones anteriores en el navegador de texto API, para que puedan usarse en el programa. . función. Estas son las preguntas de sentido común más básicas para aprender API, y son mucho menores que el enorme contenido del sistema API. ¿Dónde desperdiciaremos nuestra energía en el futuro (esto de ninguna manera es un desperdicio)? Es decir:

Cuándo usar qué función, cuándo usar qué tipo de estructura y cuándo usar qué constante.

Declaración de función API [retorno]

Recordemos. En VB, ¿cómo declarar una función? Creo que si estás leyendo este artículo, definitivamente podrás responder esta pregunta.

La siguiente es una declaración de función con la que debería estar familiarizado:

Función SetWindowRgn Lib "user32"Alias ​​​​"SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

Es decir, esta línea de código define una función llamada SetWindowRgn. Esta función tiene un parámetro de tipo de datos Long y se pasa por valor (ByVal). Después de ejecutar la función, se devolverán datos Long. .

La declaración de funciones API también es muy similar. Por ejemplo, la función SetWindowRgn en la API se escribe así:

Función de declaración pública SetWindowRgn Lib "user32" Alias ​​​​" SetWindowRgn" (ByVal hWnd As Long, ByVal hRgn As Long, ByVal bRedraw As Boolean) As Long

La declaración Declare se utiliza para declarar una referencia a un procedimiento externo en una biblioteca de vínculos dinámicos (DLL) en el nivel del módulo. Para ello, sólo hay que recordar que cualquier declaración de función API debe escribir esta declaración.

Iib especifica la biblioteca de vínculos dinámicos o el recurso de código que contiene el procedimiento o función declarado. En otras palabras, explica la cuestión de de dónde proviene la función o proceso.

Como en el ejemplo anterior, la función de descripción SetWindowRgn Lib "user32" SetWindowRgn proviene del archivo user32.dll. Los principales archivos de la biblioteca de enlaces dinámicos dll son:

user32.dll Gestión de Windows. Generar y gestionar la interfaz de usuario de la aplicación.

Interfaz del dispositivo gráfico GDI32.dll. Genera salida gráfica para dispositivos Windows

Servicio del sistema Kernel32.dll. Accede a los recursos informáticos del sistema operativo.

Tenga en cuenta que cuando el archivo DLL no está en la carpeta Windows o Sistema, su fuente (

ruta) debe indicarse en la función. Por ejemplo, SetFocus Lib "c:\Mydll\user32"

El alias en la declaración de función es opcional. Indica que el procedimiento a llamar tiene otro nombre (alias) en la biblioteca de vínculos dinámicos (DLL). Por ejemplo, el alias "SetWindowRgn" indica que el otro nombre de la función SetWindowRgn en User32.dll es

SetWindowRgn. ¿Por qué los dos nombres son iguales? Por supuesto, también pueden ser diferentes. En muchos casos, el nombre de la función descrita por Alias, es decir, el último carácter del alias suele ser el carácter A. Por ejemplo, otro nombre de la función SetWindowsText es

SetWindowsTextA, que se expresa como Alias "EstablecerWindowsTextA". Esta A es solo una convención de nomenclatura utilizada por los diseñadores, que indica que la función pertenece a la versión ANSI.

Cabe señalar que no todas las funciones API tienen alias. Al elegir Alias, debe prestar atención al caso del alias; si no elige Alias, el nombre de la función debe prestar atención al caso; y no puedo cambiar. Por supuesto, en muchos casos, dado que la declaración de función se copia directamente desde el navegador de texto API, la posibilidad de que ocurra este error es muy pequeña, pero es necesario saberlo.

Un último recordatorio: las declaraciones de API (incluidas estructuras y constantes) deben colocarse en la sección "Declaraciones generales" del formulario o módulo.

Tipos de datos y "seguridad de tipos" [ Volver]

Los tipos de datos utilizados en las funciones API son básicamente los mismos que los de VB. Sin embargo, como funciones API WIN32, no existe un tipo de datos entero

.

Otro punto es que el tipo de datos booleano no se puede ver en las funciones API. El tipo de datos Variante aparece en forma de Cualquiera en las funciones API, como Datos como cualquiera. Aunque la implicación es que se permite pasar cualquier tipo de parámetro como parámetro de esta función API, existen ciertas desventajas al hacerlo. La razón es que esto desactivará todas las comprobaciones de tipo de los parámetros de destino. Naturalmente, esto crea oportunidades de errores con varios tipos de llamadas de parámetros.

Para aprender bien las funciones de la API, debe reflexionar sobre ellas lentamente, practicar con diligencia y comprender las funciones y el uso de cada función de la API, ¡naturalmente será útil y se sentirá cómodo en las aplicaciones prácticas!