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

Вниз

Время работы процесса !   Найти похожие ветки 

 
psa247 ©   (2005-12-05 11:23) [0]

Как узнать время работы процесса?
Делаю через CreateTime(NTQuerySystemInformation).
Хочу найти разницу между GetTickCount и Create_Time, допустим, в миллисекундах.
Проблема с переводом из Large_Integer в удобочитаемое представление, выдает очень большое число по сравнению с тем, что должно быть.


 
BiN ©   (2005-12-05 11:33) [1]

GetProcessTimes


 
Anatoly Podgoretsky ©   (2005-12-05 11:34) [2]

Время работы процессора можно узнать с помощью RDTSC или QueryPerformanceCounter


 
Anatoly Podgoretsky ©   (2005-12-05 11:35) [3]

Пврдон, перепутал процесс с процессором
GetThreadTimes


 
psa247 ©   (2005-12-05 11:37) [4]


> BiN ©   (05.12.05 11:33) [1]

Ok, попробую...


 
psa247 ©   (2005-12-05 12:20) [5]

Не получается:
hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, ProcessId);
GetProcessTimes(hProcess,Creat,Exi,Kern,User);
cur:= creat.dwLowDateTime + Creat.dwHighDateTime * DWORD(-1);
T:= (GetTickCount - cur) / MSecsPerDay;
d:= Trunc(T);
DecodeTime(T-d, h, m, s, msec);
tmp:= Format("%2d д %2d:%2d:%2d", [d, h, m, s]);

?
Там еще что-то написано про 100 нсек... не понял


 
BiN ©   (2005-12-05 12:38) [6]

FileTimeToSystemTime


 
psa247 ©   (2005-12-05 13:03) [7]


> BiN ©  


function ProcessWorkTime(Pr_ID : cardinal): string;
var hProcess : THandle;
  cur : cardinal;
  T : TDateTime;
  d, h, m, s, msec : Word;
  ftKernel, ftUser, ftCreate, ftExit, ftLocal : TFILETIME;
  stLocal : TSYSTEMTIME;
begin
  hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION or PROCESS_VM_READ, False, Pr_Id);
  GetProcessTimes(hProcess,ftCreate,ftExit,ftKernel,ftUser);
  cur:= ftCreate.dwLowDateTime + ftCreate.dwHighDateTime * DWORD(-1);
  CloseHandle(hProcess);
//   FileTimeToLocalFileTime(ftCreate, ftLocal);
  FileTimeToSystemTime(ftLocal, stLocal);

{       T:= (GetTickCount - Cardinal(cur)) / (MSecsPerDay);
      d:= Trunc(T);
      DecodeTime(T-d, h, m, s, msec);
}
  d:= stLocal.wDay;
  h:= stLocal.wHour;
  m:= stLocal.wMinute;
  s:= stLocal.wSecond;
  Result:= Format("%02d д %02d:%02d:%02d", [d, h, m, s]);
end;


 
psa247 ©   (2005-12-05 13:21) [8]


> psa247 ©   (05.12.05 13:03) [7]

Показывает, что процесс запущен дней 20 назад


 
psa247 ©   (2005-12-05 13:31) [9]

Нашел ошибку. Спасибо.



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

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

Наверх




Память: 0.46 MB
Время: 0.057 c
2-1138719643
Trilon1
2006-01-31 18:00
2006.02.19
Сортировка DBGrid


8-1126159037
Dilmo
2005-09-08 09:57
2006.02.19
Вопрос про звуки в Дельфи


2-1138632049
gidd
2006-01-30 17:40
2006.02.19
трех позиционный CheckBox


2-1138917575
WestBronx
2006-02-03 00:59
2006.02.19
Деление.


2-1138881288
GoshaT
2006-02-02 14:54
2006.02.19
Вставить картинку в TRichEdit





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский