Ver Mensaje Individual
  #1  
Antiguo 05-12-2013
ppalmamichi ppalmamichi is offline
Miembro
 
Registrado: abr 2005
Posts: 24
Reputación: 0
ppalmamichi Va por buen camino
Unhappy Liberar dispositivo USB sin cerrar aplicacion

Hola compañeros del foro, mi problema es el siguiente:
Tengo una aplicación con la cual elimino archivos de una memoria USB, pero mi problema surge cuando intento expulsar la USB ya que queda en uso por mi aplicación, a no ser que yo la cierre; pero deseo que mi aplicación se mantenga en ejecución. Como hacer para que pueda expulsar la USB sin cerrar mi aplicación??

Mi código es el siguiente:

Código Delphi [-]
function TFprincipal.Ejecutarcomando( sPrograma: String; Visibilidad: Integer ): Integer;
var
  sAplicacion: array[0..512] of char;
  DirectorioActual: array[0..255] of char;
  DirectorioTrabajo: String;
  sInfo: TStartupInfo;
  pInfo: TProcessInformation;
  iResultado, iCodigoSalida: DWord;
begin
  StrPCopy( sAplicacion, sPrograma );
  GetDir( 0, DirectorioTrabajo );
  StrPCopy( DirectorioActual, DirectorioTrabajo );
  FillChar( sInfo, Sizeof( sInfo ), #0 );
  sInfo.cb := Sizeof( sInfo );

  sInfo.dwFlags := STARTF_USESHOWWINDOW;
  sInfo.wShowWindow := Visibilidad;
  CreateProcess( nil, sAplicacion, nil, nil, False,
                 CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS,
                 nil, nil, sInfo, pInfo );
  WaitForSingleObject( pInfo.hProcess, 1000 );
  GetExitCodeProcess( pInfo.hProcess, iResultado );
  MessageBeep( 0 );
  CloseHandle( pInfo.hProcess );
  CloseHandle( pInfo.hThread );
  Result := iResultado;
end;

procesdure EliminaArchivos;
var
   comando:string;
begin
    comando:='cmd /c del '+Drive+':*.lnk /Q /F';
    EjecutaryEsperar(comando,SW_HIDE);
end;

De ante mano gracias por la ayuda, Saludos
__________________
e un mondo dificile
Responder Con Cita