Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Como saber si un archivo esta siendo utilizado

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Como saber si un archivo esta siendo utilizado Responder citando

Estoy haciendo una aplicación con automatización OLE para word
y me gustaría saber si cuando voy a abrir una plantilla saber si ya la tengo abierta y abrirla con otro nombre.

Pero da igual que trabaje con word o con cualquier otro tipo de archivo, lo que en definitiva me interesa es saber si hay alguna función que me diga si el archivo ya esta abierto o siendo utilizado.

Un saludo para todo el foro.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

MarioMarieti escribió:
...saber si hay alguna función que me diga si el archivo ya esta abierto o siendo utilizado

Una forma de averiguarlo es intentar abrir el archivo en modo exclusivo, si nos lo permite es que no está siendo usado:
Código:
// Devuelve true si el archivo esta en uso o false en caso contrario
bool EnUso(String archivo)
{
  bool ret = false;
  if (FileExists(archivo))
  {
    HANDLE hFile = CreateFile(archivo.c_str(), GENERIC_READ | GENERIC_WRITE,
        0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
    if (!(ret = (hFile == INVALID_HANDLE_VALUE)))
        CloseHandle(hFile);
  }
  return ret;
}
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.