Ver Mensaje Individual
  #14  
Antiguo 06-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

La verdad es que es la primera vez que intento acceder a un celular. Pero pensando en que era un dispositivo extraible, este código que uso al efecto, me detecta correctamente si está conectado o no:
Código Delphi [-]
function OpenUSB(aDrv: char): THandle;
var
  Root, Vol: string;
begin
  Root := aDrv + ':\';
  Vol  := Format('\\.\%s:', [aDrv]);
  Result := CreateFile(PChar(Vol),
    GENERIC_READ or GENERIC_WRITE, FILE_SHARE_READ or FILE_SHARE_WRITE,
    nil, OPEN_EXISTING, 0, 0);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   if OpenUSB('F') = INVALID_HANDLE_VALUE then
    raise Exception.Create('Error en la conección.')
  else
    ShowMessage('Todo bién, continuamos...');
end;
Ahora convengamos, sé que es la unidad 'F' por que previamente me fije cuál era. Si agrego un pen drive, situado en la unidad 'E' y uso la función OpenUSB con el argumento 'E' funciona igualmente. Por otro lado estoy accediendo a la memoria del celular no al celular mismo....

La cosa debe pasar por la cadena '\\?\USB#Vid_058b&Pid_0015#5&25ea51ff&0&1#{a5dcbf10-6530-11d2-901f-00c04fb951ed'... Creo, como AzidRain, que es propia de cada teléfono y realmente no sé como obtenerla.

Como dato adicional, en mi caso, cambiando el '?' por la letra 'F' se queda pensando un poco y luego lanza el error INVALID_HANDLE_VALUE.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita