Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
#1

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++

03.06.2012, 12:54. Просмотров 1237. Ответов 3
Метки нет (Все метки)

господа не могу вытащить значение вот из этого -
C++
1
2
3
4
5
6
7
8
9
10
 typedef  struct
_SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION {
    LARGE_INTEGER IdleTime;
    LARGE_INTEGER KernelTime;
    LARGE_INTEGER UserTime;
    LARGE_INTEGER Reserved1[2];
    ULONG Reserved2;
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION ;
 
SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION sp;
и если потом написать -
C++
1
cout<<sp.IdleTime;
компилятор начинает ругаться , что не так ?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2012, 12:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION (C++):

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION - C++ WinAPI
господа в каком хедере находится - &quot;SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION&quot; в dev c++ и так на будущее где можно смотреть такую...


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

Или воспользуйтесь поиском по форуму:
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
-=ЮрА=-
Заблокирован
Автор FAQ
03.06.2012, 13:13 #2
Игорь с++, то что ты хочешь вывести это структура а не тип как целое,посмотри сюда cyberforum.ru/blogs/34326/blog272.html
1
Игорь с++
436 / 459 / 16
Регистрация: 26.01.2011
Сообщений: 2,032
03.06.2012, 17:17  [ТС] #3
я понял свою ошибку , а скажи ещё каким образом при помощи этого я смогу отслеживать загруженность процессора ? В каком направлении дальше копать ?
0
-=ЮрА=-
Заблокирован
Автор FAQ
03.06.2012, 21:22 #4
Игорь с++, пройди по ссылке
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION
When the SystemInformationClass parameter is SystemProcessorPerformanceInformation, the buffer pointed to by the SystemInformation parameter should be large enough to hold an array that contains as many SYSTEM_PROCESS_INFORMATION structures as there are processors (CPUs) installed in the system. Each structure has the following layout:
typedef struct
_SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION {
LARGE_INTEGER IdleTime;
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER Reserved1[2];
ULONG Reserved2;
} SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION;
The IdleTime member contains the amount of time that the system has been idle, in 1/100ths of a nanosecond.
The KernelTime member contains the amount of time that the system has spent executing in Kernel mode (including all threads in all processes, on all processors), in 1/100ths of a nanosecond.
The UserTime member contains the amount of time that the system has spent executing in User mode (including all threads in all processes, on all processors), in 1/100ths of a nanosecond.
Use GetSystemTimes instead to retrieve this information.
Добавлено через 3 минуты
Вот что дал гугл
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
27
28
29
30
31
32
33
34
double CPUUsage()
{
    typedef NTSTATUS (NTAPI* pfNtQuerySystemInformation) (
        IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
        OUT PVOID SystemInformation,
        IN ULONG SystemInformationLength,
        OUT PULONG ReturnLength OPTIONAL
        );
 
    static pfNtQuerySystemInformation NtQuerySystemInformation = NULL;
 
    if(NtQuerySystemInformation == NULL)
    {
        HMODULE ntDLL = ::GetModuleHandle("ntdll.dll");
        NtQuerySystemInformation = (pfNtQuerySystemInformation)GetProcAddress(ntDLL ,"NtQuerySystemInformation");
    }
 
    static SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION lastInfo = {0};    
    SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION curInfo = {0};
 
    ULONG retsize;
 
    NtQuerySystemInformation(SystemProcessorPerformanceInformation, &curInfo, sizeof(curInfo), &retsize);    
 
    double cpuUsage = -1;
 
    if(lastInfo.KernelTime.QuadPart != 0 || lastInfo.UserTime.QuadPart != 0)
        cpuUsage = 100.0 - double(curInfo.IdleTime.QuadPart - lastInfo.IdleTime.QuadPart) / 
        double(curInfo.KernelTime.QuadPart - lastInfo.KernelTime.QuadPart + curInfo.UserTime.QuadPart - lastInfo.UserTime.QuadPart) * 100.0;
 
    lastInfo = curInfo;
 
    return cpuUsage;    
}
1
Yandex
Объявления
03.06.2012, 21:22
Ответ Создать тему
Опции темы

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