Autor
|
Tema: Como usar una API en Visual Basic.Net (Leído 12,392 veces)
|
MicroHack
|
Hola, estoy aprendiendo visual basic.net desde 0 y ya llevo 2 meses. He aprendido siguiendo un temario de un libro, por lo cual he empezado con los programas de consola y ahora estoy con los Windows Form (durante este largo camino he estudiado, las variables, tipos, funciones, sentencias For, While, If, etc...) Ahora que estoy en la parte " divertida" con los Form me gustaria hacer algun pequeño programa usando las API de Windows, por ejemplo con la Shell32.DLL que alberga funciones para la modificacion del explorador de ventanas entre otras cosas. El caso es que mi libro no habla sobre como usar API´s y tampoco he encontrado nada por la red, con lo que me hace falta entender como se usa una API dentro de un proyecto Visual Basic.NetHe copiado y pegado esta linea de un ejemplo que encontre por la red pero no se exactamente que hace y ni siquiera si es lo que necesito. Declare Sub SetUserTile Lib "shell32.dll" (ByVal UserName As String, ByVal Whatever As Integer, ByVal PicPath As String) Por favor alguien me puede pasar un tutorial que me explique como n00b que soy? O decirme solamente en este caso como hago para usar las funciones que contiene la Shell32.dll?
|
|
|
En línea
|
Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
|
|
|
|
MicroHack
|
Gracias, con tu respuesta he aprendido que es un Pinvoke (basicamente llamar codigo no gestionado en un proyecto escrito con codigo manejado)
Pero no me queda claro como usarlo, no se la sintaxis ni si dicha API (Shell32.dll) me la tengo que descargar o viene incluida en las referencias de .Net (imagino que no porque si no bastaria con decir "Imports System.Windows.Shell32" o algo del estilo)
He hecho una busqueda en la carpeta /Windows y en una de las carpetas he encontrado esa dll, ¿es la misma que estoy buscando o no tiene nada que ver?
|
|
|
En línea
|
Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
|
|
|
seba123neo
|
Hola, te explico bien por arriba como para un chico de 5 años , primero que nada nunca vas a usar todas las apis que existen, como veras la shell32.dll tiene muchisimas, y en total de las otras librerias tenes algo de mas de 800 apis. la dll digamos que es una libreria con funciones dentro, y vos lo que haces desde visual basic .net es declarar esa funcion y usarla. para usar la api debes saber como funciona y los valores que puede tomar,o sea las constantes (que si no me equivoco existen mas de 100 mil), pero para eso esta la MSDN de microsoft que tiene la documentacion de todas las apis y con ejemplos, aparte si buscas el nombre de una api en internet te salen muchos ejemplos , siempre para saber como se usa. una buena herramienta es el "Api Viewer" bajatelo e instalatelo, tiene ejemplos de casi todas las apis, los ejemplos estan en visual basic 6, pero para .net es casi lo mismo, es para que veas como se usan nada mas. la "Shell32.dll" viene con el windows , asi que no tenes que descargar nada, es mas todas las apis que ves ya estan en el windows, el mismo windows usa constantemente esas apis para hacer su trabajo, obvio no estan programadas en .NET . la carpeta de las dll esta en WINDOWS\SYSTEM32. tambien es posible programarte tus propias dll con funciones dentro, para despues llamar las funciones como si fueran apis, pero eso ya es otro tema, primero aprende a usarlas. aunque justamente el framework de .NET busca independizarse de las apis de windows. saludos.
|
|
|
En línea
|
|
|
|
MicroHack
|
Gracias por tu respuesta seba123neo, entiendo lo que son las APIs (funciones almacenadas en bibliotecas DLL), es más, yo mismo en un ejercicio demandado por el libro creé una DLL para usarla dentro de otro proyecto, concretamente hacia uso de esa DLL para usar la clase y sus funciones que habia escrito previamente. Pero todo eso lo supe hacer sin problemas puesto que el procedimiento era simplemente agregarla como referencia y usar la palabra reservada Imports y el espacio de nombres asignado. En este caso es diferente, pasa algo extraño, he agregado por referencia la dll que encontre en la carpeta de Windows (pesa 12Mb) y al explorarla no vi casi ninguna de las funciones que salen en http://www.geoffchappell.com/viewer.htm?doc=studies/windows/shell/shell32/api/index.htmA parte de ello es verdad, no conozco la funcion que necesito y me haria falta buscarla en la doc. En concreto lo que me hace falta son aquellas funciones que escriben los valores de la ventana de "propiedades del sistema" (procesador, memoria, tipo de sistema, etc)
|
|
« Última modificación: 19 Febrero 2011, 02:41 am por MicroHack »
|
En línea
|
Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
|
|
|
|
MicroHack
|
que libreria agregaste ?
Shell32.dll
|
|
|
En línea
|
Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
|
|
|
[D4N93R]
Wiki
Desconectado
Mensajes: 1.646
My software never has bugs. Its just features!
|
...el mismo windows usa constantemente esas apis para hacer su trabajo, obvio no estan programadas en .NET . De Windows Vista en adelante, hay varias cosas programadas en .Net, un ejemplo puede ser el Task Scheduler, me di cuenta de ese porque en Vista le dejaron el icono del Form por defecto Volviendo al tema. Quieres cambiar los valores que aparecen ahí? o quieres obtenerlos desde tu código? Un saludo.
|
|
|
En línea
|
|
|
|
MicroHack
|
Quieres cambiar los valores que aparecen ahí? o quieres obtenerlos desde tu código?
Un saludo.
Quiero cambiarlos
|
|
|
En línea
|
Hola cariño, pasa por favor, y cierra la puerta al entrar. No quiero que se oigan los disparos fuera.
|
|
|
seba123neo
|
lo que pasa es que NO debes agregar como referencia la dll para usar las api's, una cosa es que vos programes una dll con funciones, ahi si la debes agregar, pero las de windows no, se llaman mediante las api's.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Como usar simbolos en visual basic
Programación Visual Basic
|
br1
|
2
|
7,728
|
24 Julio 2005, 00:18 am
por Slasher-K
|
|
|
Usar powerpoint en visual basic 6.0
Programación Visual Basic
|
WiSeR!
|
1
|
3,150
|
29 Mayo 2007, 18:09 pm
por Jareth
|
|
|
Compilar sin usar Visual Basic???
« 1 2 3 4 »
Programación Visual Basic
|
Hole_System
|
34
|
13,332
|
9 Julio 2008, 22:15 pm
por Pox1
|
|
|
[Solucionado] Es posible usar la tecnología ClearType en Visual Basic 6.0?
Programación Visual Basic
|
EddyW
|
4
|
3,637
|
30 Marzo 2011, 03:50 am
por EddyW
|
|
|
[VB - SQL]Problema con Visual Basic-SQL al usar INNER JOIN
Programación Visual Basic
|
SionTf
|
2
|
3,348
|
7 Agosto 2013, 19:49 pm
por arfgh
|
|