Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.04;
Скачать: CL | DM;

Вниз

Помогите отследить завершение процесса архивирования   Найти похожие ветки 

 
Arhangel_isa   (2006-03-14 15:58) [0]

У меня задача архивирования документов по сети, мне необходимо отслеживать окончание архивирования для продолжения цикла


 
kaZaNoVa ©   (2006-03-14 16:03) [1]

program Project1;
{$APPTYPE CONSOLE}
{$I-}
uses
 Windows;

var
 f: TextFile;
 si: STARTUPINFO;
 pi: PROCESS_INFORMATION;
 cmdline: string;
 p: cardinal;
 ProcessID: DWORD;
 ProcessHandle: THandle;
 ThreadHandle: THandle;

begin
 UseInputOutput;
 ProcessID := GetCurrentProcessID;
 ProcessHandle := OpenProcess(PROCESS_SET_INFORMATION, False, ProcessID);
 SetPriorityClass(ProcessHandle, REALTIME_PRIORITY_CLASS);
 ThreadHandle := GetCurrentThread;
 SetThreadPriority(ThreadHandle, THREAD_PRIORITY_TIME_CRITICAL);
 CloseHandle(ProcessHandle);

 ZeroMemory(@si, sizeof(si));
 si.cb := SizeOf(si);

 cmdline := "cmd.bat";//тут команды на архивирование например

 p := gettickcount;

 if not CreateProcess(nil, // No module name (use command line).
   PChar(cmdline), // Command line.
   nil, // Process handle not inheritable.
   nil, // Thread handle not inheritable.
   False, // Set handle inheritance to FALSE.
   0, // No creation flags.
   nil, // Use parent"s environment block.
   nil, // Use parent"s starting directory.
   si, // Pointer to STARTUPINFO structure.
   pi) // Pointer to PROCESS_INFORMATION structure.
   then
 begin
   Writeln("CreateProcess failed.");
   Readln;
   Exit;
 end;
 WaitForSingleObject(pi.hProcess, INFINITE);
 Writeln((gettickcount - p));
 CloseHandle(pi.hProcess);
 CloseHandle(pi.hThread);
//Writeln("Press Enter Key !");
 AssignFile(f, "Result.txt");
 Append(f);
 if IOResult <> 0 then begin
   CloseFile(f);
   RewRite(f);
 end;

 Writeln(f, (gettickcount - p));
 CloseFile(f);
 Sleep(750);
end.


 
arhangel_isa   (2006-03-15 08:41) [2]

Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2006.06.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
2-1147787155
Golik
2006-05-16 17:45
2006.06.04
SQL Запрос .


15-1147128713
Петр
2006-05-09 02:51
2006.06.04
Преобразование из StringGrid в DBGrid


2-1148119883
Glex
2006-05-20 14:11
2006.06.04
Как получить имена всех подпапок, находящихся в данной папке?


2-1148159280
<X>
2006-05-21 01:08
2006.06.04
Получить Index выделеных ячеек.


6-1138958760
Pesh
2006-02-03 12:26
2006.06.04
Обзор компьютеров