Мастер участка
Группа: Участник
Сообщений: 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.
Спасибо
|