24 mensajes Página 1 de 2
He visto muchos temas aquí, ando aprendiendo mucho, una pregunta como podría reconocer una unidad insertada USB, es decir ejemplo la H: y que cuando la detecte el programa, me haga alguna acción, ejemplo: 1 el programa se inicia minimizado, 2 reconoce la inserción de la unidad USB, se maximiza el programa, 3 desplazarme a otra pagina por decir una bienvenida por haber insertado la unidad USB, alguna idea.

Eso es sencillo, lo tuyo es:

Drive.Enumerate(); (para mas detalles mira la ayuda del programa)

Drive.GetType(); (para mas detalles mira la ayuda del programa)

Application.Minimize(); (para mas detalles mira la ayuda del programa)

Application.Restore(); (para mas detalles mira la ayuda del programa)

Para iniciar tu aplicacion minimizada On Preload (Page1):

Application.Minimize();
Parsed in 0.003 seconds, using GeSHi 1.0.8.9


Para detectar la unidad Flash:

tD = Drive.Enumerate();--La funcion Drive.Enumerate() te regresa una tabla que contiene el indice y las unidades.
for I, D in pairs (tD) do--Creamos un loop para obtener todas las unidades en el equipo.
        dType = Drive.GetType(D);--La funcion Drive.GetType() te regresa el "tipo" de unidad; local, extraible, CDROM, remota etc...
        if (dType == DRIVE_REMOVABLE) then--Se crea una condicion (conocida como filtro) donde le decimos al loop que si la unidad es del tipo removible pues hara algo.
                --Aqui detecta la USB.
        end
end
Parsed in 0.004 seconds, using GeSHi 1.0.8.9


Para que todo esto te funcione debes verificar a cada instante lo que esta sucediendo en tu PC, esto lo lograras con:

Page.StartTimer(); (para mas detalles mira la ayuda del programa)

Page.StopTimer(); (para mas detalles mira la ayuda del programa)

Ya completo quedaria mas o menos asi:

On Preload :

Page.StartTimer(1, 1000);--El primer parametro es el identificador del timer, muy util cuando haces mas de una accion en el timer, si solo tienes una basta con que le des el intervalo en milisegundos, en este caso el valor del intervalo es de 1000 que corresponde a 1 segundo.
Application.Minimize();--Minimizas la aplicacion de inmediato.
 
Parsed in 0.003 seconds, using GeSHi 1.0.8.9


On Timer:

if (e_ID == 1) then--Verificas que el ID del timer corresponda, en caso de que solo tengas un evento timer solo omite esta condicion.
        tD = Drive.Enumerate();
        for I, D in pairs (tD) do
                dType = Drive.GetType(D);
                if (dType == DRIVE_REMOVABLE) then
                        Page.StopTimer(1);--Detienes el timer.
                        Application.Restore();--Restauras la aplicacion.
                        Page.Jump("Page2");--Brincas a la pagina 2 donde haras algo.
                end
        end
end
Parsed in 0.004 seconds, using GeSHi 1.0.8.9


Espero te sirva, comentas que tal te fue.

Saludos.
Look at that asshole >>> Imagen <<< Look at that face
It means..."The fuck is this, the fuck is that"
*QUIERO MI DIPLOMA*

Si me ayudo Metafunken, una pregunta mas ya que veo que si le entiendes entre la unidades de reconocimiento, como haría el mismo proceso, diferenciando entre las unidades, es decir yo tengo insertadas las unidades F: G: H: I: J: al mismo tiempo y cuando conecte la E: u otra unidad que elija yo, esta me cargue solo la pagina 2 del proyecto y si reconoce las otras unidades la pagina 1.

A ver mi chavo, aqu ite dejo esta .apz para que la estudies, no es mia es del cyberputo, lo que hace basicamente es reconocerte varios parametros de las unidades mediante la WMI, ya que la abras sabras a lo que me refiero, esta en italiano (lo modificable) y lo demas en inglishpitikinglish pero ps ahi tienes el google no? :) ...


Contenido Oculto: ON
	<br />Usted necesita responder en este tema para ver el contenido oculto.


De antemano te recomiendo que la analices, que te rompas un poco la cabeza y ya que te atores vuelvas a preguntar... Tomate tu tiempo si en verdad quieres aprender.

Para que te servira? Pues para identificar la serie de la USB y para guardarla en un fichero ini por ejemplo, asi, la que decidas se iniciara en la pagina 2 y las demas en la 1.

Si quieres algo mas basico solo metele un .txt oculto a tu USB con cierto texto, texto que al iniciar la aplicacion (en el timer) lo reconozca y le de entrada a la pagina 2, obviamente las unidades que no lo tengan pasaran de inmediato a la pagina 1.

Espero te sirva, bueno, de que te sirve y a muchos estoy seguro que si.


Saludos.
Look at that asshole >>> Imagen <<< Look at that face
It means..."The fuck is this, the fuck is that"
*QUIERO MI DIPLOMA*

Interesante ... :yes:

thanks
Gracias.
Novato en Línea

Gracias, creo

esta interesante meta
Se Requiere Pensar Mas Para Tener El Exito Asegurado
ok , revisando...
gracias ;)
Imagen
Gracias.
:num1: :num1: :num1: :num1:
:pc: :pc: :pc:
Hola, ¿Por que no puedo ver los enlaces de descarga sobre ningun tema?
alexgraja1 escribió: Hola, ¿Por que no puedo ver los enlaces de descarga sobre ningun tema?

Necesitas responder al tema, en la imagen HIDE lo dice
Imagen
bueno algo es algo
gracias
Gracias amigo dowsher

Imagen
24 mensajes Página 1 de 2

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado