Как программно узнать закончил ли ZIP свою работу ? - VB
Формулировка задачи:
Тот класс переделал, только не могу понять
как всётаки получить ответ что ZIP закончил свою работу ?
класс переделал ! по рекомендации проффесионала под ником
Dragokas
выкладываю все версии в блоге ниже фрагмент с коментарием где необходим этот кодРешение задачи: «Как программно узнать закончил ли ZIP свою работу ?»
textual
Листинг программы
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Private Declare Function GetActiveWindow Lib "user32" () As Long Private Function CopyHere(Parent As Object, vItem, Optional vOptions) As Boolean ' 'Функция копирования 'Аргументы: Папка (Zip-папка) // Копируемый объект ' 'Флаги опций '4 - Не показывать окно с прогресс-баром. '8 - Дать копируемому файлу новое имя, если файл с таким именем уже существует. '16 - Отвечать автоматически "Yes to All" в любом отображаемом диалоге. '256 - Отображать окно с прогресс-баром, но не показывать имена файлов. '4096 - Производить операции только в локальной папке. Не производить операции рекурсивно в подпапках. '9182 - Не копировать связанные файлы (например, html-файлы с их папками) как группу. Копировать только указанные файлы. ' Dim oPr As Object, Name$, ModifyDate As Date Dim OldDate As Date, n&, h& OldDate = Shell.NameSpace(Parent.Self.Path).Self.ModifyDate Parent.CopyHere (vItem), vOptions On Error Resume Next If vItem.Count > 0 Then If Err.Number = 0 Then GoTo 1 Do h = GetActiveWindow DoEvents Sleep 100 n = n + Abs(h <> GetActiveWindow) ModifyDate = Shell.NameSpace(Parent.Self.Path).Self.ModifyDate Debug.Print ModifyDate, n If OldDate <> ModifyDate Or n > 1 Then Exit Do Loop 1 CopyHere = True End Function
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д