Отправляет email-рассылки с помощью сервиса Sendsay

Программирование. Форум !!!

С++ файлы и их атрибуты

Hello comp,
Проблема в следующем.
Некая программа запускает по SellExecute программу arj для сборки
многотомного архива. Необходимо дождаться окончания сборки. Я пытаюсь
через определение атрибутов собираемого файла определить окончание
сборки
WIN32_FIND_DATA fnd;
CString str="nameFil";
DWORD fileLength=100000-100 //длина собираемого файла
DWORD rasm=0;
while (rasm<fileLength)
{
HANDLE hFindFile = FindFirstFile(str+".ZIP", &fnd);
rasm=fnd.nFileSizeLow;
Sleep(1000);
}
Sleep(4000);
Проблема в том что fnd.nFileSizeLow получает значение длины файла при
сборке последнего файлв принадлежащего архиву. Далее arj видимо
начинает прописывать файл на диск и это трбует времени , а програма
программа нвчинает работать с недоделанным файлом. Вопрос как более
точно определить время окончаеия сборки

Ответить   bvb Tue, 2 Mar 2004 20:14:07 +0500 (#95023)

 

Ответы:

Я не пробывал но по msdn видно что ShellExecute и ShellExecuteEx возращают
хендл процесса HINSTANCE (или HANDLE SHELLEXECUTEINFO.hProcess) который
собственно можно дождатся через WaitForSingleObject и как только эта функция
вернёт управление можно что-то делать.

Hello comp,
Проблема в следующем.
Некая программа запускает по SellExecute программу arj для сборки
многотомного архива. Необходимо дождаться окончания сборки. Я пытаюсь
через определение атрибутов собираемого файла определить окончание
сборки
WIN32_FIND_DATA fnd;
CString str="nameFil";
DWORD fileLength=100000-100 //длина собираемого файла
DWORD rasm=0;
while (rasm<fileLength)
{
HANDLE hFindFile = FindFirstFile(str+".ZIP", &fnd);
rasm=fnd.nFileSizeLow;
Sleep(1000);
}
Sleep(4000);
Проблема в том что fnd.nFileSizeLow получает значение длины файла при
сборке последнего файлв принадлежащего архиву. Далее arj видимо
начинает прописывать файл на диск и это трбует времени , а програма
программа нвчинает работать с недоделанным файлом. Вопрос как более
точно определить время окончаеия сборки

--
Best regards,
bvb mailto:b***@a*****.ru
Номер выпуска : 2394
Возраст листа : 162 (дней)
Количество подписчиков : 379
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/95023
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru
Номер выпуска : 2399
Возраст листа : 162 (дней)
Количество подписчиков : 379
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/95075
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru

-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru

http://subscribe.ru/ mailto:ask@subscribe.ru

Ответить   Tue, 2 Mar 2004 18:03:07 +0200 (#95075)