Colección de citas famosas - Slogan de motivación - ¿Cuál es la función de API y cómo funciona?

¿Cuál es la función de API y cómo funciona?

Al principio no quería decir esto, pero quizás sepas que otros no lo hacen. Para cuidar a los novatos, tengo que decir algunas tonterías aquí. Por favor, perdóname.

Win32 API es la interfaz de programación de aplicaciones de la plataforma Microsoft de 32 bits. Todas las aplicaciones que se ejecutan en la plataforma Win32 pueden llamar a estas funciones.

Utilizando la API Win32, las aplicaciones pueden aprovechar al máximo el potencial del sistema operativo Windows de 32 bits. Todas las plataformas de Microsoft de 32 bits admiten una API unificada, que incluye funciones, estructuras, mensajes, macros e interfaces. El uso de la API de Win32 no sólo le permite desarrollar aplicaciones que se pueden ejecutar correctamente en varias plataformas, sino que también puede aprovechar al máximo las funciones y propiedades únicas de cada plataforma.

Lo anterior es una introducción a la API, pero es posible que algunos principiantes aún no comprendan el propósito de la API después de leerla. Por favor no te preocupes aquí. Si tiene suficiente paciencia, siga leyendo lentamente.

2. ¿Cómo utilizar API?

Supongo que esto es lo que realmente les importa a todos, entonces, ¿cómo usar la API? Antes de comprender la API, abra su libro de VB y consulte el capítulo sobre funciones de proceso. Antes de comprender la API, debe saber qué son las funciones de proceso. Si no sabe cómo funciona el proceso, no se apresure a seguir leyendo, ya que esto le llevará fácilmente a muchos desvíos.

Bueno, cuando comprendas la función de proceso, es decir, cuando puedas usar la API, no te tomes la API demasiado en serio, solo usa la API como una función de proceso. Primero, veamos una API simple de la siguiente manera:

Declaración privada de la biblioteca sub-sueño "kernel32" alias "Sleep" (ByVal dw milisegundos de duración)

La API anterior El propósito es actuar como un retraso. Si es nuevo en API, es posible que sienta que escribir API es extremadamente complicado e incómodo. En realidad no es nada. Acostúmbrate a ello. En cuanto a la complicada escritura de API, no hay de qué preocuparse. Cuando instala VB, Microsoft nos ha traído el navegador API, y estos se pueden generar automáticamente utilizando el navegador API. El navegador API se encuentra en [Menú Inicio-Programas-Microsoft Visual Basic 6.0 versión china-Microsoft Visual Basic 6.0 versión china Herramientas-API Text Browser]. Abra el navegador API e ingrese Suspender en el cuadro de texto superior. En este momento, la función API correspondiente se mostrará automáticamente en el cuadro de lista a continuación, luego haga clic en el botón Agregar a la derecha y luego haga clic en el botón Copiar. En este punto, puede usar Ctrl+V para agregar la API declarada a la ventana de código VB.

Quiero decir aquí que es posible que algunos novatos no lo entiendan. Generalmente existen dos modos para el alcance de la declaración de API, uno es privado y el otro es público. Por lo general, Private se declara en un módulo de clase o clase de formulario y Public se declara en un módulo. Al agregar una API, hay un alcance de declaración de la API en el botón Agregar, que puede agregar según sus necesidades. Aquí generalmente elegimos escuelas privadas.

Sabemos cómo agregar API arriba. A continuación analizamos la declaración de API, que es una condición necesaria para que comprenda la API. Veamos primero la primera palabra Privado. Obviamente, como acabo de decir, esto declara una variable API privada. Mire la segunda declaración. Esta palabra nos ayuda a decirle a VB que está declarando una función API. Generalmente, esta palabra debe usarse al declarar funciones API externas. Tercer submarino, ¿no me digas lo que no sabes? Esto es lo que quiero decir cuando le pido que primero aprenda la función de proceso en VB. Para decirlo sin rodeos, no existe un valor de eco. Generalmente, no es Sub sino la función la que tiene el valor de eco. La cuarta Lib le dice a VB qué función API en el dll queremos declarar. También le dice a VB que queremos declarar la API en la quinta palabra kernel32.dLL. Generalmente, debes usar comillas dobles al escribir el nombre de la DLL, como "user32", "shell32.dll", etc. En cuanto a lo siguiente. DLL, puedes aceptarlo o no. Veamos el sexto alias, que también debe usarse junto con el último. Deberíamos concatenar el sexto y séptimo alias "Sleep" juntos, lo que significa que el procedimiento a llamar tiene otro nombre en la DLL, lo cual es opcional. Finalmente, lo que está entre paréntesis es que, al igual que la función de proceso, se puede pasar el valor correspondiente.

Después de analizar la declaración de función API anterior, escribiremos el código nosotros mismos. Primero copie esta API en la ventana de código de Form1, luego escriba el siguiente código:

Declaración privada biblioteca de suspensión secundaria "kernel 32" (ByVal dw milisegundos mientras)

Subformulario privado_Carga( )

Sleep 2000

Conector final

Explique que cuando se inicia el formulario, la API de Sleep se usa para retrasar 2 segundos y el siguiente parámetro dwMillisegundos representa La cantidad de segundos que desea retrasar es básicamente la misma que configurar la cantidad de segundos en el temporizador. Echemos un vistazo a cómo utilizar Sleep 2000.

¿Es lo mismo que usar la función de proceso VB? Bien, hemos escrito nuestro primer programa API de VB y podemos ver que usar la API no es difícil.

En tercer lugar, ¿cómo aumentar el interés en aprender API?

API, a menudo lo considero una función de proceso, pero cada uno tiene sus propios puntos de vista y formas de entenderlo. Siempre que su propia forma de entender pueda ayudarlo a aprender y dominar mejor la API, no es necesario que aprenda de otros.

1. Crea MsgBox tú mismo

Es muy importante saber cómo utilizar los parámetros API. Aquí no usamos MsgBox de VB, sino que usamos API para abrir directamente el cuadro de mensaje MsgBox. Primero abra el navegador API y seleccione MessageBox. Puede comparar esta API con el MsgBox integrado de VB. De hecho, MsgBox es la abreviatura de MessageBox, pero uno es API y el otro está integrado en VB, pero ambos funcionan a través de API. OK, seleccione el modo de declaración privada, péguelo en la ventana de edición de código de VB, luego cree un nuevo CommandButton y escriba el siguiente código:

Función de declaración privada Biblioteca MessageBox "user32" alias "MessageBoxA"

( ByVal hwnd es Long, ByVal lpText es String, ByVal lpCaption es String,

ByVal wType tiene la misma longitud) y tiene la misma longitud

Subcomando privado 1_Click( )

MessageBox Me.hwnd, "Aquí está el contenido", "Título", 0

Conector final

Analicemos primero. Primero, considere el primer parámetro Byval hWnd como Long. Obviamente, esta es una variable entera larga, por lo que lo que debemos pasar aquí es un número. Es posible que descubras que lo que pasamos no es un número, sino yo. ¿Es raro hwnd? Si realmente tienes esta pregunta, significa que realmente quieres aprender bien la API. Ahora veamos qué es Me.hwnd. El siguiente contenido está extraído de la documentación de ayuda de VB:

Devuelve el identificador del formulario o control.

Identificador de declaración: un valor entero único definido por el entorno operativo que utiliza el programa para identificar o cambiar a un objeto, como un formulario o control.

Ahora creo que casi has entendido que el hwnd que llamamos es en realidad un valor entero de identificador. Puedes usar Msgbox Me.hwnd para verlo. Para mí, esta es una palabra clave que representa el objeto de formulario actual. Tales como: yo. Título = "título", es decir. BackColor=vbRed, etc.

Después de lo anterior, primero pasamos Me.hwnd, lo que significa que la ventana actual llama a MessageBox. Aquí tienes un consejo: cada vez que veas que Byval hwnd tendrá la misma longitud en el futuro, generalmente tendrás que pasar un identificador. En cuanto a qué identificador de objeto se pasa, depende de cómo lo implemente.

ByVal lpText Como cadena, esta es una variable de cadena, lo que indica que debemos pasar una cadena. Puede ver que el carácter variable lpText significa Texto, lo que significa que se usa para mostrar el texto del mensaje en MsgBox.

ByVal lpCaption es String, que también es una variable de cadena, o se pasa una cadena. Al observar el carácter variable lpCaption en el interior, en realidad muestra el título de MsgBox.

ByVal wType As Long es una variable entera. Debe pasar un número entero o mirar el carácter variable wType en su interior, lo que indica que se muestra el tipo MsgBox. Se puede utilizar aquí como MsgBox de VB, como: vbYesNo, vbOkCancel, etc. Si se omite, se puede pasar como 0.

Bien, presione F5 para iniciar el programa, haga clic en Comando1 y luego aparecerá un cuadro de mensaje. Aquí hemos completado la producción y el análisis de MsgBox. Espero que hayas aprendido algo en el camino.

2. Hagamos algo práctico.

Tomemos el Administrador de tareas de Windows como ejemplo. Aquí sólo puedes ocultar ventanas en el Administrador de tareas, no procesos. P: ¿Existe algún proceso oculto? ¿Qué deseas? ), cuando el programa se está ejecutando, el programa no se puede cerrar desde la ventana del Administrador de tareas, solo se puede finalizar el proceso. Bien, como de costumbre, abra el navegador API, ingrese las dos API, GetWindow y ShowWindow, declare el alcance o privado, copie y pegue en la ventana del código del formulario, ¿eh? No te preocupes, sigue siendo un navegador API. Seleccione Constantes en el cuadro combinado, ingrese las dos constantes API GW_OWNER y SW_HIDE y péguelas en la ventana de código. Pregúntame para qué sirven estos dos. Entonces sigue leyendo.

Escribe el siguiente código:

Función de declaración privada GetWindow Lib "usuario 32" (ByVal hwnd As Long,

ByVal wCmd tiene la misma longitud) as long

Función de declaración privada que muestra la ventana Lib "usuario 32" (ByVal hwnd As Long,

ByVal nCmdShow la misma longitud) la misma longitud

Constante privada GW_OWNER = 4

Constante privada SW_HIDE = 0

Subform_Load() privado

Atenuar lphWnd siempre

lphWnd = GetWindow(Me.hwnd, GW_OWNER)

ShowWindow lphWnd, SW_HIDE

Conector final

Es hora de analizar nuevamente, este es el momento más emocionante para los principiantes. Vale, soy yo otra vez. Veamos el significado superficial de las API y las variables de valor de paso.

Veamos primero GetWindow En la superficie: obtenga la ventana. Variables de valor de paso: mango de plástico hWnd, valor de comando de plástico wCmd.

Mirando de nuevo ShowWindow, en la superficie: ventana de visualización. Variables de valor de paso: mango de plástico hWnd, valor de comando de plástico nCmdShow.

Luego use el código, primero mire la oración LP hwnd = GetWindow (me. hwnd, GW _ propietario), que significa obtener el identificador de ventana del propietario de la ventana actual. Puede ver que getwindow es una función de proceso de función. Después de la ejecución, devolverá el valor del identificador de ventana correspondiente, que es un número entero largo (el mismo identificador). Luego llame a ShowWindow lphWnd, SW_HIDE, lo que significa mostrar la ventana con el identificador lphWnd. La oración clave es la última SW_HIDE, que es una constante de la función API. Al establecer constantes, el sistema puede saber cómo la API debe mostrar la ventana o no. ¿O esconderse? Por supuesto que significa oculto. Bien, compílelo en Exe y, después de ejecutarlo, abra el administrador de tareas para ver la ventana del programa. ¿Hay algo más?

Quiero decirlo de nuevo. Es posible que algunas personas no comprendan por qué utilizamos estas constantes GW_OWNER. ¿Para qué se utilizan estas constantes? ¿Cómo sé qué API corresponden a qué constantes? De hecho, sólo hace falta prestar un poco de atención a estas constantes para saber cuáles son. Por ejemplo, uso GW_OWNER en GetWindow y SW_HIDE en ShowWindow. Todas estas constantes tienen la misma característica: se basan en la primera letra de la palabra API. Por ejemplo, la constante correspondiente a GetWindow es Get (G) Window (W) = GW, y la constante correspondiente a ShowWindow suele ser Show (S) Window (W) = SW. Estas constantes se pueden encontrar en el navegador API de VB.

3. Todavía quiero escribir, pero no sé cómo. Publíquelo primero y vea cómo reaccionan todos. Si encuentra algún error, indíquelo. Acepto tus críticas. . . .