En mi aplicación, intento cambiar el nombre de la carpeta, pero si la carpeta se abre en Windows Explorer obtengo un IOException
. ¿Cómo puedo identificar si la carpeta está abierta en el Explorador de Windows en C#?¿Cómo identificar si la carpeta está abierta?
Respuesta
captura la IOException?
Como han dicho otros, simplemente intente hacer lo que quiera, tome la excepción si sucede y tome las medidas adecuadas, sea lo que sea que esté en su contexto.
Usted realmente no tiene mucha opción en mi opinión, tener en cuenta:
bool iHaveAccess = CheckAccess(folder);
if (iHaveAccess)
{
RenameFolder(folder,newFolderName);
}
lo que sucede si se encuentra entre CheckAccess éxito y llamando RenameFolder algo bloquea la carpeta? ¿Qué vas a hacer entonces?
Sí, así es como lo haría. Probablemente deberías estar monitoreando esto de todos modos. – Toji
No es razonable determinar si un programa tiene una carpeta abierta de tal forma que no pueda cambiarle el nombre. Porque inmediatamente después de tomar la determinación, otro proceso podría comenzar o detenerse usando la carpeta. En su lugar, solo haga la operación y capte la excepción resultante.
try {
Directory.Move("old","new");
return true;
} catch (IOException) {
return false;
}
- 1. ¿Determinar si la tienda está abierta?
- 2. ¿Cómo identificar si existe un índice Lucene.Net en una carpeta?
- 3. Prueba Powershell si la carpeta está vacía
- 4. ¿Cómo identificar si un usuario está siendo suplantado en Symfony2?
- 5. ¿Cómo comprobar rápidamente si la carpeta está vacía (.NET)?
- 6. Cómo identificar el archivo y la carpeta usando cocoa
- 7. Implemente la "Carpeta que contiene abierta" y resalte el archivo
- 8. ¿Cómo identificar si la referencia de clase es una interfaz?
- 9. ¿Dónde está la carpeta "Desarrollador"?
- 10. ¿Cómo saber si la tienda está abierta o cerrada? ¿Tiene horarios?
- 11. ¿Cómo determinar si la aplicación de Android está abierta desde el mensaje de notificación?
- 12. ¿Cómo se determina si la página emergente está abierta o no?
- 13. Cómo identificar si la tabla tiene columna de identidad
- 14. Cómo verificar si la carpeta recién creada está presente en la tarjeta SD en Android
- 15. PHP: Cómo determinar si una conexión de base de datos está abierta
- 16. ¿Cómo saber si una ventana con un título dado ya está abierta en Tk?
- 17. Javascript Trae la ventana al frente si ya está abierta en window.open?
- 18. del usuario Abrir, o cambiar a la ficha correspondiente si el sitio ya está abierta
- 19. DirectoryInfo.Delete (verdadero), no se elimina cuando la estructura de carpeta está abierta en el Explorador de Windows
- 20. ¿Cómo identificar que se está ejecutando en una máquina virtual?
- 21. ¿Cómo identificar si una biblioteca es creación DEBUG o RELEASE?
- 22. ¿Cómo puedo restaurar el control svn si la carpeta .svn está dañada?
- 23. transacción está todavía abierta después de cancelar la consulta
- 24. Cambiar BaudRate de SerialPort mientras la conexión está abierta
- 25. Android mkdir no está haciendo la carpeta
- 26. PHP mkdir() Función - Si la carpeta existe
- 27. ¿Cómo identificar si un tipo es una estructura personalizada?
- 28. Cómo identificar si una unidad es virtual o física
- 29. ¿Cómo identificar si dos versiones diferentes de gcc son compatibles?
- 30. ¿Cómo identificar si una página web se está cargando dentro de un iframe o directamente en la ventana del navegador?
Windows Explorer, cmd, algún otro administrador de archivos, un cuadro de diálogo de abrir/guardar. Hay más cosas que solo Explorer que puede mantener esto abierto. – Joey
¿Desea identificar si el Explorador de Windows, específicamente, lo tiene abierto, o si algún otro proceso tiene un controlador abierto para él? ¿Y qué quieres lograr? Capturar la excepción es una indicación bastante buena de que algún otro proceso tiene sentido, si eso es todo lo que pretendes. – Dathan
@Dathan Excepción de captura es una buena idea, pero tenemos una aplicación multi-código de base de código muy grande. Es bueno si identificamos el clima que hemos alcanzado. Gracias –