Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 06-09-2012
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
amigos les cuento que tuve un resultado positivo en la prueba que hise con la pequena modificacion que nos mensiono el amigo escafandra \\.\PhysicalDriveX y el cambio a la funcion que hiso eficas aqui mi ejemplo

Código Delphi [-]
begin
 if USB.USBOpenDriver('\\.\PhysicalDrive0') then
    Memo1.Lines.Add('Conexion Hecha Correctamente')
    else
    Memo1.Lines.Add('Error en la conexion');
end;

esta prueba fue realizada con una memoria usb aun no e hecho la prueba con el celular pero es un avance este proyecto que nos interesa a todos

creo que una ves conectado el dipositivo las demas funciones de la libreria USB no deberian dar problemas

Última edición por kurono fecha: 06-09-2012 a las 20:01:59.
Responder Con Cita
  #2  
Antiguo 06-09-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 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

Muchas gracias kurono y escafandra (que si iluminó más el tema).

Luego haré algunas pruebas, pero como pensaba del mismo modo que escafandra, nada que implique escritura hasta que no sepa bién lo que estoy haciendo. No está entre mis planes hacer detonar el celular .

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 06-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por kurono Ver Mensaje
amigos les cuento que tuve un resultado positivo en la prueba que hise con la pequena modificacion que nos mensiono el amigo escafandra \\.\PhysicalDriveX
Añadir que es muy importante localizar correctamente el número de unidad, puesto que todas las unidades físicas se llaman igual (HD y USB) cambiando sólo su número. Para este fín se debe usar la API DeviceIoControl con IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS. Tenéis un ejemplo en delphi en la función GetPhysicalDrive escrita por seoane o en GetPhysicalNumOfDrive escrita por mi mismo. Ambas tienen la misma funcionalidad y es devolver el número de disco físico conociendo una letra de unidad lógica.

Cita:
Empezado por kurono Ver Mensaje
creo que una ves conectado el dipositivo las demas funciones de la libreria USB no deberian dar problemas
El problema va a estar en lo que se escriba y donde...

Cita:
Empezado por ecfisa Ver Mensaje
Luego haré algunas pruebas, pero como pensaba del mismo modo que escafandra, nada que implique escritura hasta que no sepa bién lo que estoy haciendo. No está entre mis planes hacer detonar el celular .
Muy sensato...

Se debe tener en cuenta que el S.O. del teléfono puede poner sus "peros" al acceso por el puerto USB y, por supuesto, al acceder como \\.\PhysicalDriveX accedemos a la "unidad de almacenamiento masivo"... En este sentido quisiera añadir que los dispositivos android se comunican con el PC a través de un driver por socket y el programa puente es el conocido adb.exe.



Saludos.

Última edición por escafandra fecha: 06-09-2012 a las 21:10:09.
Responder Con Cita
  #4  
Antiguo 07-09-2012
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
amigo escafandra entonces acediendo como \\.\PhysicalDriveX estariamos conectandonos a la memoria interna del dipositivo , en el caso de un celular sacando las sd si tiene y usando el codigo \\.\PhysicalDriveX me imagino que acederia a la Rom del celular que creo que es la idea principal de nustro amigo Alan_B el cual quiere flashear un celular con delphi

si es asi entonces con la libreria usb creo que se puede escribir en la rom del celular en este caso hay que tomar en cuenta lo que has dicho ante de saber que lo que se quiere escribir y donde o me equivoco

Última edición por kurono fecha: 07-09-2012 a las 05:22:14.
Responder Con Cita
  #5  
Antiguo 07-09-2012
Alan_B Alan_B is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 12
Poder: 0
Alan_B Va por buen camino
Bueno gente les comento que aun sigo sin resultados positivos (USB - Celular), utilizando \\.\PhysicalDriveX funciona perfectamente, sera que el error esta en que no tipeamos bien el identificador del celular??? Yo probe ya con varios entre ellos "Id. de Hardware", "GUID", etc... Todos sumandolos de esta forma "USB#VID_0C44&PID_0020#{4d36e96d-e325-11ce-bfc1-08002be10318}"... Donde Id. de hardware: VID_0C44&PID_0020, GUID: {4d36e96d-e325-11ce-bfc1-08002be10318} y bueno concatenados con #, como lo vi en el ejemplo del creador del unit!!!
Responder Con Cita
  #6  
Antiguo 08-09-2012
Alan_B Alan_B is offline
Miembro
NULL
 
Registrado: ago 2012
Posts: 12
Poder: 0
Alan_B Va por buen camino
Aun sin respuesta positiva del celular, no puedo creer que sea tan dificil esto jaja, alguien logro conectar con un celular??? kurono, pegaste en la tecla, la idea es hacer una aplicacion capaz de lograr conexion con un celular y cargarle su firmware (flashear)!

Si alguien logro encontrar algun dato que aporte bienvenido sea, GRACIAS a TODOS!!!
Responder Con Cita
  #7  
Antiguo 09-09-2012
Avatar de kurono
[kurono] kurono is offline
Miembro Premium
 
Registrado: jul 2007
Ubicación: Republica Dominicana
Posts: 1.126
Poder: 18
kurono Va por buen camino
amigo Alan_B para que no pierda las esperanzas te cuento que una ves flashe un celular sony erizon en el cual el programa estaba hecho en delphi pero lamentablemente el autor del programa no ofrecia el codigo fuente esto te lo digo en delphi se puede hacer solo hay que saber como
Responder Con Cita
  #8  
Antiguo 10-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Mira a ver si esto te sirve de ayuda:

Código Delphi [-]
function GetDeviceName: String;
var
 hKey: Windows.HKEY;
 Device: ShortString;
 Key: String;
 Count, Len: Cardinal;
begin
 Result:= '';
 RegOpenKey(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Services\WpdUsb\Enum', hKey);
 RegQueryValueEx(hKey, 'Count', nil, nil, @Count, @Len);
 if Count = 1 then
 begin
   Len:= sizeof(Device);
   RegQueryValueEx(hKey, '0',  nil, nil, @Device[1], @Len);
   Device[0]:= CHAR(Len-1);
   Device:= Copy(Device, Pos('Vid', Device), Pos('Pid_', Device)+7 - Pos('Vid', Device)+1);
   RegCloseKey(hKey);
   Key:= 'SYSTEM\CurrentControlSet\Enum\USB\' + Device;
   RegOpenKey(HKEY_LOCAL_MACHINE, PCHAR(Key), hKey);
   RegEnumKey(hKey, 0, @Device[1], SizeOf(Device) - 1);
   Device[0]:= CHAR(lstrlen(@Device));
   RegCloseKey(hKey);
   RegOpenKey(HKEY_LOCAL_MACHINE, PCHAR(Key + '\' + Device), hKey);
   RegQueryValueEx(hKey, 'Service', nil, nil, @Device[1], @Len);
   RegCloseKey(hKey);
   Device[0]:= CHAR(Len-1);
   RegOpenKey(HKEY_LOCAL_MACHINE, PCHAR('SYSTEM\CurrentControlSet\Services\' + Device), hKey);
   RegCloseKey(hKey);
   Key:= 'SYSTEM\CurrentControlSet\Services\' + Device + '\Enum';
   RegOpenKey(HKEY_LOCAL_MACHINE, PCHAR(Key), hKey);
   RegQueryValueEx(hKey, 'Count', nil, nil, @Count, @Len);
   if Count = 1 then
   begin
     Len:= sizeof(Device);
     RegQueryValueEx(hKey, '0',  nil, nil, @Device[1], @Len);
     Device[0]:= CHAR(Len-1);   // Ahora tenemos el device y el serial
   end;
   RegCloseKey(hKey);
   Key:= 'SYSTEM\CurrentControlSet\Enum\USB\' + Copy(Device, 5, Length(Device)-4) + '\Device Parameters';
   RegOpenKey(HKEY_LOCAL_MACHINE, PCHAR(Key), hKey);
   Len:= sizeof(Device);
   RegQueryValueEx(hKey, 'SymbolicName', nil, nil, @Device[1], @Len);
   RegCloseKey(hKey);
   Device[0]:= CHAR(Len);
   Result:= Device;
   Result[2]:= '\';
   Result[3]:= '.';
 end
 else
   RegCloseKey(hKey);
end;

Su Uso:
Código Delphi [-]
hFile:= CreateFile(PCHAR(GetDeviceName),
                     GENERIC_READ or GENERIC_WRITE,
                     FILE_SHARE_READ or FILE_SHARE_WRITE,
                     nil, 
                     OPEN_EXISTING,
                     FILE_FLAG_WRITE_THROUGH or FILE_FLAG_NO_BUFFERING, 
                     0);


Saludos.
Responder Con Cita
  #9  
Antiguo 11-09-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Aclaraciones sobre mi mensaje anterior:

1- El código que he escrito para explorar el registro en busca del nombre de dispositivo está basado en un análisis del registro de tres PCs con Windows XP y un Teléfono Samsung Galaxy SII conectado al puerto USB.

2- Sólo funciona con un dispositivo conectado.

3- Devuelve un Nombre de dispositivo que se puede abrir con la API CreateFile.

4- No he escrito nada en mi teléfono.

5- Ignoro si el sistema es válido para otro dispositivo telefónico.



Saludos.
Responder Con Cita
Respuesta



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
ver los contactos de un celular con delphi kurono Varios 0 02-07-2011 00:01:21
No pongas el celular en el bolsillo del pantalon jcarteagaf La Taberna 4 25-07-2008 19:40:53
infectar un celular ciro.arc Seguridad 10 19-07-2008 18:00:36
Programación de un celular hugoChinchilla Conexión con bases de datos 7 14-09-2007 05:09:18
Y asi hay gente que se descresta con un celular mamcx La Taberna 3 14-03-2007 23:14:20


La franja horaria es GMT +2. Ahora son las 05:10:25.


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