Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.06.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.048 c
3-1142429352
Emik
2006-03-15 16:29
2006.06.04
FIBPlus Tools


1-1146030439
ANB
2006-04-26 09:47
2006.06.04
Как в Ворде узнать, какая ячейка выше текущей ?


6-1138453363
Lupi
2006-01-28 16:02
2006.06.04
Поиск линков


5-1132723716
ККВ
2005-11-23 08:28
2006.06.04
Не запускается программа в режиме отладки


4-1142189617
guitarist
2006-03-12 21:53
2006.06.04
PrintScreen и его перехват





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский