1. код:
pe.szMachineName = 0l;
pe.szObjectName = "Processor";
pe.szInstanceName = "_Total";
pe.szParentInstance = NULL;
pe.dwInstanceIndex = 0;
pe.szCounterName = "% Processor Time";
Не понимает. Нужно написать по русски:
pe.szMachineName = 0l;
pe.szObjectName = "Процессор";
pe.szInstanceName = "_Total";
pe.szParentInstance = NULL;
pe.dwInstanceIndex = (DWORD)-1;
pe.szCounterName = "% Загруженности процессора";
а еще лучше:
TCHAR szObjectName[256], szCounterName[256], szPath[1024];
DWORD dwSize;
pdhStatus = PdhLookupPerfNameByIndex(NULL, 238, szObjectName, &dwSize);//-1
pdhStatus = PdhLookupPerfNameByIndex(NULL, 6, szCounterName, &dwSize);//-2
pe.szMachineName = 0l;
pe.szObjectName = szObjectName;
pe.szInstanceName = "_Total";
pe.szParentInstance = NULL;
pe.dwInstanceIndex = (DWORD)-1;
pe.szCounterName = szCounterName;
Будет работать как часы......