Necesito descomprimir en zip algunos archivos en mi aplicación usando Shell32. En este momento, uso srcFolder.CopyHere(destFolder.Items())
para lograr esto. Sin embargo, mi próxima línea de código requiere el archivo ZIP recién creado. Pero dado que el método CopyHere
es Async, ¿cómo puedo verificar cuándo terminó? Ahora uso un Thread.Sleep
durante unos 500 ms, lo cual es suficiente para que mi computadora termine de crear el archivo ZIP, pero no es un buen código.Cómo verificar cuándo Shell32.Folder.CopyHere() está terminado
¿Alguna idea?
Más información/código se puede proporcionar si es necesario.
+1 tratado de encontrar algo, pero no encontraron nada. Solo una nota. Agregue una medida de seguridad para romper ese ciclo si su copia toma demasiado tiempo. (Por ejemplo, rutas de red no disponibles) – Steve
Esta solución funciona en Windows 8 pero se dispara prematuramente en Windows 7. ¿Alguna idea? –
Usando Excel VBA, necesitamos 1. Copie un archivo de texto al código postal 2. Obtenga la secuencia de bytes de la cremallera para un procesamiento posterior. 3. Eliminar archivos de texto y zip. Como el código nos da errores inusuales e irregulares (siempre relacionados con rutas de archivos/rutas de archivos zip), extrajimos el código para 1 y 3 en otro entorno de prueba y lo volvimos a analizar varias veces. Aquí implementamos la solución FileInUse, pero de alguna manera la función sigue devolviendo false y las eliminaciones no se ejecutan en absoluto. – sidnc86