C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Загрузка CPU
exp
Отправлено: 24.11.2005, 22:53


Мастер участка

Группа: Участник
Сообщений: 304



Нужно определять загруженность процессора.
нашел код на делфе, который читает данные из реестра , а конкретно,
1) открывает это: "HKEY_DYN_DATA\\PerfStats\\StartStat\\KERNEL\\CPUusage",
2) Читает отсюда: "HKEY_DYN_DATA\\PerfStats\\StatData\\KERNEL\\CPUusage"
3) А потом открывает это: "HKEY_DYN_DATA\\PerfStats\\ЫещзStat\\KERNEL\\CPUusage"

Попробовал перекорёжить это под билдер, но результата не добился, проблема на п. 1. Ключ не хочет открываться.

Вот делфийский код
CODE

res:=RegOpenKeyEx(HKEY_DYN_DATA,'PerfStats\StartStat',0,KEY_ALL_ACCESS,pkey);  
if res<>0 then    
  raise exception.Create('Could not open registry key');  

RegQueryValueEx(pkey,'KERNEL\CPUUsage',nil,regtype,@tmp,@vsize); // Пункт 1

res:=RegOpenKeyEx(HKEY_DYN_DATA,'PerfStats\StatData',0,KEY_ALL_ACCESS,pkey);  

if res<>0 then  
  raise exception.Create('Could not open registry key');    

 RegQueryValueEx(pkey,'KERNEL\CPUUsage',nil,regtype,@fkernelinfo.cpuusagepcnt,@vsize); // пункт 2

res:=RegOpenKeyEx(HKEY_DYN_DATA,'PerfStats\StopStat',0,KEY_ALL_ACCESS,pkey);
if res<>0 then  
    raise exception.Create('Could not open registry key');  

RegQueryValueEx(pkey,'KERNEL\CPUUsage',nil,regtype,@tmp,@vsize); // Пункт 3


Вот на открытии ключа в пункте 1 я и застрял. Я не могу его открыть: Код ошибки 87  — Параметр задан неверно. Вот.
исходя из вышесказанного переходим к нижеследующему:
Как определить загрузку процессора или хотя бы этот ключ открыть?
ЗЫ: Делфийский код взят из Kuliba 2000.
Спасибо
Rius
Отправлено: 25.11.2005, 06:49


Мастер участка

Группа: Участник
Сообщений: 321



http://cp.people.overclockers.ru/cgi-bin/d...=AdCpuUsage.rar

Вернуться в Вопросы программирования в C++Builder