Necesito saber la librería y/o las funciones que tengo que usar para monitorizar recursos de un sistema. En concreto, necesito calcular: - Porcentaje de memoria libre del sistema - Porcentaje de discos duro libre en el sistema - Porcentaje de ocupación de la CPU
Necesito saber con que compilador, es decir, Borland C++, C++ Builder o cual?, también necesito si lo quieres para windows o ms-¿Dos o linux?
Disculpa por no haber especificado más. En principio, lo necesito para trabajar con Visual C++ sobre Windows NT 4.
Existen funciones en el API de windows como GlobalMemoryStatus() y GetDiskFreeSpaceEx() investiga un poco más sobre ellas para entenderles mejor. Acerca del uso del CPU, pues es un tema complicado pero puedes buscar info en : www.deja.com El siguiente programa me funciona en C++ Builder así que no se si te vaya a funcionar sin modificación en Visual C++. Suerte. int main(int argc, char* argv[]) { char lpDirectoryName[100] = "c:\\"; // cadena de caracteres de interes PULARGE_INTEGER lpFreeBytesAvailableToCaller; // numero de bytes libres para el usuario actual PULARGE_INTEGER lpTotalNumberOfBytes; // numero de bytes totales en el disco PULARGE_INTEGER lpTotalNumberOfFreeBytes; // numero de bytes totales libres GetDiskFreeSpaceEx(lpDirectoryName, &lpFreeBytesAvailableToCaller, &lpTotalNumberOfBytes, &lpTotalNumberOfFreeBytes); double PorcentajeLibreHD = (double)lpTotalNumberOfFreeBytes.QuadPart / lpTotalNumberOfBytes.QuadPart; printf("Porcentaje disco duro libre: %.2lf%\n", PorcentajeLibreHD * 100); MEMORYSTATUS ms; ms.dwLength=sizeof(MEMORYSTATUS); //obtenemos la info GlobalMemoryStatus(&ms); //aqui se obtiene la memoria libre double PorcentajeLibreMem = (double)ms.dwAvailPhys / ms.dwTotalPhys; printf("Porcentaje memoria libre: %.2lf%\n", PorcentajeLibreMem * 100); return 0; }