Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo utilizar las funciones API en VB en detalle?

¿Cómo utilizar las funciones API en VB en detalle?

1. Hay dos formas de declarar funciones API en VB: Si solo usamos la función API en una determinada forma, podemos declararla en la sección General del código del formulario:

La sintaxis de la declaración es:

¿Privada?Declarar?Función?...

Privada?Declarar?Sub....

Debe ser Se utiliza aquí Declaración privada, porque esta función API solo puede ser llamada por un programa dentro de un formulario.

Si nuestro programa consta de varios formularios y necesitamos utilizar la misma función API en varios formularios, debemos declararla en el módulo.

Primero agrega un módulo (como se muestra en la figura),

Luego declaralo usando la siguiente sintaxis:

Público?Declarar?Función....

¿Pública?Declarar?Sub....

Declaración pública significa tratar la función API como una función o procedimiento público en cualquier parte de un proyecto (incluidos todos los formularios y módulos) que se puede llamar. directamente. Una vez completada la declaración, podemos utilizar esta función API en el programa.

2. Las funciones API se pueden utilizar de las siguientes maneras, tomando la función SetWindowPos como ejemplo:

(1) Ignore la llamada del valor de retorno de la función:

SetWindowPos ?Form1.hWnd,?-2?,0?,0?,0,?0,?3

Tenga en cuenta que los parámetros de la función no están entre corchetes en este momento.

(2) Llamada al método de llamada:

Llamar?SetWindowPos(Form1.hWnd,?-2,?0,?0,?0,?3)

Tenga en cuenta que aquí se requieren paréntesis, pero no recuperamos el valor de retorno de la función.

(3) Llamada para obtener el valor de retorno de la función:

MyLng?=?SetWindowPos(Form1.hWnd,?-2,?0,?0,?0,?3)

En este momento, es necesario agregar paréntesis y debemos definir una variable de antemano (el tipo de variable es el mismo que el tipo de valor de retorno de la función) para almacenar el valor de retorno de la función API. .

3. Explicación de varios problemas:

(1) ¿Qué pasa con Lib? y ?Alias ​​en la declaración?

En general, WIN32API. funciones Siempre se incluye en la biblioteca de enlaces dinámicos DLL que viene con el sistema Windows o proporcionada por otras empresas. La palabra clave Lib en la declaración Declare se utiliza para especificar la ruta del archivo DLL (biblioteca de enlaces dinámicos) para que VB pueda encontrarlo. el archivo DLL. y luego podrá utilizar las funciones API que contiene. Si simplemente enumeramos el nombre del archivo DLL sin indicar su ruta completa, VB buscará automáticamente el archivo DLL en el directorio donde se encuentra el archivo .EXE, el directorio de trabajo actual, el directorio WINDOWS\SYSTEM y el directorio WINDOWS. Entonces, si el archivo DLL que se utilizará no se encuentra en los directorios anteriores, debemos especificar su ruta completa.

Alias ​​​​se usa para especificar el alias de la función API. Si la función API que llamamos usa una cadena (el parámetro contiene el tipo String), se requiere la palabra clave Alias. Esto se debe a que el nombre de la misma función API puede ser diferente en los conjuntos de caracteres ANSI y Unicode. Para garantizar que no se produzcan errores de declaración, utilizamos la palabra clave Alias ​​para indicar el alias de la función API. En la plataforma WIN9X, ponemos el nombre de la función API. Simplemente agregue una A mayúscula como alias.

(2) Descripción de los tipos de parámetros API comunes

Los parámetros más comunes de las funciones API son tipos de datos largos, como identificadores en la API y algunas constantes específicas, los valores de retorno. ​de funciones son todos valores de este tipo; otros tipos de parámetros comunes incluyen: entero, byte, cadena, etc.

(3) ¿Cuál es el propósito de ByVal en la declaración?

Esto está relacionado con el método de paso de parámetros de VB. De forma predeterminada, VB transfiere parámetros de función mediante el paso de direcciones. Las funciones API requieren que los parámetros de la función se pasen por valor (estos dos métodos de paso de parámetros son diferentes: el primero pasa un puntero, mientras que el segundo requiere el valor real del parámetro). Esto provocará un error. La solución es agregar la palabra clave ByVal delante de la declaración del parámetro de la función API, para que VB pase los parámetros por valor.

(4) Cómo obtener la declaración completa de la función API

VB viene con el visor de texto API API?TEXT?VIEWER, donde podemos encontrar la declaración completa de la función API, y luego simplemente pégalo en el programa.

Como se muestra a continuación:

Función de declaración pública MessageBox Lib "user32" Alias ​​​​"MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType Mientras ) Mientras