Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 13
1

Получение времени создания процессов

11.07.2019, 17:20. Просмотров 470. Ответов 2
Метки нет (Все метки)

Имеется данная функция, которая пробегается по всем процессам, необходимо узнать время создания каждого процесса, но в итоге получается, что время первых процессов (походу системных) равно 00:00:00, с некоторого процесса время отображается корректно, права доступа к процессам менял на полные, не помогает, в чем проблема?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SYSTEMTIME userSystemTime;
    FILETIME createTime, exitTime,kernelTime, userTime;
    HANDLE hProcess;
    HANDLE CONST hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 peProcessEntry;
    peProcessEntry.dwSize = sizeof(PROCESSENTRY32);
    Process32First(hSnapshot, &peProcessEntry);
    do
    {
        hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, peProcessEntry.th32ProcessID);
        GetProcessTimes(hProcess, &createTime, &exitTime, &kernelTime, &userTime);
        FileTimeToSystemTime(&createTime, &userSystemTime);
        TDateTime *nowDT = new TDateTime(userSystemTime.wYear, userSystemTime.wMonth, userSystemTime.wDay, userSystemTime.wHour, userSystemTime.wMinute, userSystemTime.wSecond, userSystemTime.wMilliseconds);
        params[ind+"time_create_tdt"] = *nowDT;
    }
    while (Process32Next(hSnapshot, &peProcessEntry));
    CloseHandle(hSnapshot);
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.07.2019, 17:20
Ответы с готовыми решениями:

Получение MD5 запущенных процессов
Доброе время суток! помогите разобраться что не так я сделал вот код void FileNameCP() { CHAR...

Вывод времени создания процессов в StringGrid
Здравствуйте! Имеется программа на подобии диспетчера задач, вся информация выводится в StringGrid...

Получение времени создания файла
Здравствуйте, уважаемые пользователи. У меня возникла следующая задача - получить время создания...

Нахождение среди выполняющихся процессов имён 3-х процессов, использовавших более всего процессорного времени
Помогите выполнить задание! Нахождения среди выполняющихся процессов имен трех процессов,...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
30768 / 20099 / 7853
Регистрация: 22.10.2011
Сообщений: 34,919
Записей в блоге: 6
11.07.2019, 19:31 2
Попробовал написать вот так (раз тема в разделе Билдера) :

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void __fastcall TForm2::Button18Click(TObject *Sender)
{
    SYSTEMTIME userSystemTime;
    FILETIME createTime, exitTime,kernelTime, userTime;
    HANDLE hProcess;
    HANDLE CONST hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    PROCESSENTRY32 peProcessEntry;
    peProcessEntry.dwSize = sizeof(PROCESSENTRY32);
    ::Process32First(hSnapshot, &peProcessEntry);
    do
    {
        hProcess = ::OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, peProcessEntry.th32ProcessID);
        if(::GetProcessTimes(hProcess, &createTime, &exitTime, &kernelTime, &userTime))
        {
            ::FileTimeToSystemTime(&createTime, &userSystemTime);
            ::SystemTimeToTzSpecificLocalTime(NULL, &userSystemTime, &userSystemTime);
            Memo2->Lines->Add(String().sprintf(L"%s : %s", peProcessEntry.szExeFile, DateTimeToStr(SystemTimeToDateTime(userSystemTime))));
        }
        else
        {
            Memo2->Lines->Add(String().sprintf(L"%s -> Error: %s", peProcessEntry.szExeFile, SysErrorMessage(GetLastError())));
        }
    }
    while (::Process32Next(hSnapshot, &peProcessEntry));
    ::CloseHandle(hSnapshot);
}
, все данные, кроме данных процесса System Idle Process выдало нормальные. А у Idle - ошибку "неправильный хендл". А теперь - больше информации от тебя: какая ОС, сколько бит, какое приложение, какой компилятор?
0
0 / 0 / 0
Регистрация: 24.10.2014
Сообщений: 13
12.07.2019, 14:34  [ТС] 3
Windows 10, x64 , C++ Buider 10.2 Tokyo
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.07.2019, 14:34

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Изменение времени создания файла на минус Х дней от текущей даты создания
День добрый, ветераны форума. Помогите пожалуйста следующую задачу: Есть папка в ней вложеные...

(мобильное приложение) Определение координат GPS и получение текущего времени с сервера времени интернет
Стоит задача на мобильном клиенте получить текущее время из интернет, что бы пользователи не...

Получение процессов
Пытаюсь сделать чтоб приложение C++ Forms получало список всех процессов. Искал в интернете...

Получение списка процессов
Народ помогите Нужно написать скрипт для получения и записи в файл списка запущенных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.