El API Leido 15.285 veces

 
  Jesús
Ha recibido:
5 premios
Para que nos entendamos, el API es un conjunto de funciones que normalmente se encapsulan en una DLL para poder llamarlas desde otro sitio.

Para los más profanos, aclararemos que una DLL, es un conjunto de vínculos dinámicos a los que puedes hacer referencia para utilizarlos.

Ejemplo:
Imaginemos que estás haciendo un programa, y de pronto necesitas hacer una función que teniendo una fecha, te dijese cuantos archivos de la carpeta Windows se crearon a partir de esa fecha.
Y de pronto piensas, pues esa función seguro que la voy a necesitar en el futuro para algún otro programa, solución, crearte una dll con esa función.
Crearíamos una DLL con una función llamada RecibirArchivosDeFechaSuperior, a esta función para el programa que estamos haciendo en teoría sólo necesitaríamos mandar un parámetro "La fecha" para que la función nos diese los archivos de la carpeta Windows superiores a esa fecha, pero pensando en el futuro, cuando creamos esa función dentro de la DLL, haremos que le podamos pasar más parámetros, para de esta forma poder usarla en un futuro en otro programa que creemos, por lo que en vez de sólo mandarle la fecha, le enviaríamos más parámetros:
La fecha
La carpeta
La extensión de los archivos
El tamaño de los archivos
(eso por ejemplo)
De este modo, preparando la función para poder ser reutilizada en casos distintos, si en un futuro, necesito sacar todos los archivos de una carpeta concreta, que sean imagen jpg, que ocupen más de 1 mega y sean de hace 1 semana, podríamos usar esta maravillosa función que hemos encapsulado en nuestra DLL. Una de las API de nuestra DLL sería RecibirArchivosDeFechaSuperior.

Ahora que hemos aclarado para que sirve una DLL y que es un API, vamos a aclarar unas cosas.

Cuando una persona habla de "El API" normalmente se refiere al API de Windows, El API de Windows, es un conjunto de librerías que van con Windows, la mayoría de ellas en formato DLL.
Todos los programas creados para Windows, desde el menú de inicio a el internet explorer, si quieren interactuar con el sistema, tienen que ir a morir al API de Windows. Si por ejemplo queremos crear una ventana, siempre estamos llamando al CreateWindow() o CreateWindowEX(), que son las API para crear ventanas de Windows, aunque no te des cuenta y llames a otra función, siempre se está llamando a esa API. Otro ejemplo, si queremos mover una ventana, llamaremos siempre a SetWindowPos(). Tu puedes estar por ejemplo programando en Visual Basic, pero cuando haces Ventana.Width = 100, cambiándole el ancho de la ventana a 100 pixels, realmente el está llamando a SetWindowPos() internamente, lo que pasa es que cada vez los lenguajes van siendo de más alto nivel, más parecidos a la lengua humana.

Ahora vamos a ver un ejemplo del API de Windows.
Pondremos como ejemplo la librería "user32.dll" , es una DLL que viene con Windows, esta es de las más usadas, ya que lleva muchísimas funciones básicas.

Una de las API que lleva es la que hemos mencionado anteriormente llamada SetWindowPos, que sirve para cambiar la posición de una ventana.

En C#:
[DllImport ("user32.dll") ] static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);

En VB.NET:
Declare Function SetWindowPos Lib "user32" (hWnd As IntPtr,hWndInsertAfter As IntPtr,X%,Y%,cx%,cy%,uFlags As UInt32) As Boolean

Hay que fijarse que hay datos, que son constantes definidas en la documentación del SetWindowPos:

En C#
static readonly IntPtr HWND_TOPMOST = new IntPtr(-1);
static readonly IntPtr HWND_NOTOPMOST = new IntPtr(-2);
static readonly IntPtr HWND_TOP = new IntPtr(0);
static readonly IntPtr HWND_BOTTOM = new IntPtr(1);

VB.Net:
ReadOnly HWND_BOTTOM As New IntPtr(1)
ReadOnly HWND_NOTOPMOST As New IntPtr(-2)
ReadOnly HWND_TOP As New IntPtr(0)
ReadOnly HWND_TOPMOST As New IntPtr(-1)

Estos parámetros sirven para poner la ventana siempre al frente o bajo del todo, al mismo tiempo que cambias el tamaño y la posicionas, también le cambias el Zorder que es el orden de las ventanas.

Una vez has añadido este código a tu proyecto, ya podrás llamar a la función SetWindowPos y cambiar la posición y otras propiedades relacionadas escribiendo SetWindowPos.

No voy a entrar en detalles de las propiedades de esta API en concreto, aunque su uso es muy sencillo.

¿Como creo mi propia DLL para tener mi API personal?
Muy Simple, en .Net simplemente tienes que crear un nuevo proyecto de librería de vínculos dinámicos y crear las funciones públicas que quieras.

Creo que con esta introducción al API podemos tener una idea de lo que es el API y lo que son la mayoría de archivos DLL.

 

 





  Broco

Buenisimo el articulo ;)


 

 


  <EmilianO>
Ha recibido:
5 premios
buen articulo ;) , auenque no entienda mucho sobre programacion ...
 

 





    ¿Cuantas columnas?     | 2 columnas | 3 columnas | 4 columnas | 5 columnas | 6 columnas |  
    Escribe la dirección web de la imagen:
  Publica tu respuesta  |  Haz Click en el siguiente cuadro para escribir