Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-04-2009
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
Question Obtener todas las unidades extraíbles [Solucionado]

Hola como estan!!! un saludo bien grande a todos los miembros del foro hace rato no me pasaba por aca, pero era por que he estado algo ocupado, mucha tarea

bueno este es el codigo que tengo:
Código:
  char DriveName[4] = "C:\\";
  for (char Drive = 'C'; Drive <= 'Z'; Drive++)
  {
	DriveName[0] = Drive;
	int tipo = GetDriveType(DriveName);
	if( tipo == 2 )
	{
		ShellExecute(NULL,"open", DriveName,NULL,NULL,SW_SHOW);
	}
  }
Que hace es te codigo?
Ubica todas las unidades extraibles (memoerias USB por decirlo asi) y las abre en el explorador con el comando ShellExecute.
Cual es el problema?
Que en los computadores donde esta instalado un multilector USB (o multilector de tarjetas) me sale el mensaje "inserte un disco en la unidad X:".
Lo que quiero hacer es poder identificar que unidades del multilector tienen o no un memoria USB o SD como sea insertada para solo abrir estas en el explorador...
estube tratando con el comando winexec de esta manera:

Código:
WinExec("cmd /c start X:");
pero el problema es que cuando se ejcuta sobre las unidades del multilector sale un error que dice:
"el dispositivo no esta listo"

en fin, el problema que tengo es poder identificar en que unidades del multilector si hay una meoria insertada....

un saludo y gracias de antemano.

Última edición por Negriz fecha: 11-04-2009 a las 18:28:51.
Responder Con Cita
  #2  
Antiguo 04-04-2009
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Código:
 char Root[4] = "A:\\";
// SetErrorMode(SEM_FAILCRITICALERRORS);
 for (; Root[0] <= 'Z'; Root[0]++)
 {
  if ((GetDriveType(Root) == DRIVE_REMOVABLE) && SetCurrentDirectory(Root))
  {
   ShellExecute(NULL, "open", Root, NULL, NULL, SW_SHOW);
  }
 }
 SetCurrentDirectory("C:"); //
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #3  
Antiguo 10-04-2009
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
muchas gracias por responder tan pronto [cHackAll], revise el codigo que posteaste:
Código:
 char Root[4] = "A:\\";
// SetErrorMode(SEM_FAILCRITICALERRORS);
 for (; Root[0] <= 'Z'; Root[0]++)
 {
  if ((GetDriveType(Root) == DRIVE_REMOVABLE) && SetCurrentDirectory(Root))
  {
   ShellExecute(NULL, "open", Root, NULL, NULL, SW_SHOW);
  }
 }
 SetCurrentDirectory("C:"); //
pero sigo teniendo resultados muy parecidos a lo anterior

si ubiera alguna forma de evitar que ese mensaje saliera... igual sigo buscando.
Gracias.
Responder Con Cita
  #4  
Antiguo 10-04-2009
Avatar de cHackAll
[cHackAll] cHackAll is offline
Baneado?
 
Registrado: oct 2006
Posts: 2.159
Poder: 20
cHackAll Va por buen camino
Bueno, dos preguntas la primera intentaste usar el codigo quitandole el comentario a la segunda linea? osea USANDOLA?... y dos; en qué linea te da el error?
__________________
RTFM > STFW > Foro > Truco > Post > cHackAll > KeBugCheckEx
Responder Con Cita
  #5  
Antiguo 11-04-2009
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
Ops lo siento es que cuando lo revise lo hize algo apurado
jajaja en serio si no me dices nunca li hubiera visto muchas gracias
[gracias]

[/gracias]
Responder Con Cita
  #6  
Antiguo 11-04-2009
Avatar de Negriz
Negriz Negriz is offline
Miembro
 
Registrado: feb 2008
Ubicación: Some were inside Colombia
Posts: 123
Poder: 17
Negriz Va por buen camino
oye cHackAll muchas gracias, era justo lo que necesitaba, ahora se que unidades puedo usar y cuales no ha sido de mucha ayuda tu codigo, gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener las IP de todas la pc de una red local kurono Varios 5 06-10-2008 05:05:10
Como obtener las unidades de un Pc y con derechos de escritura!! JClink API de Windows 2 21-08-2007 15:36:49
¡Extra, extra! Encontrado el primo hermano del "niño loco alemán" dec Humor 10 29-11-2006 20:42:17
Como obtener todas las pcs de la red? bustio Varios 6 26-08-2005 23:39:12
como obtener informacion extra de la imagen? marcoev Gráficos 1 09-06-2003 20:10:52


La franja horaria es GMT +2. Ahora son las 17:03:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi