C/Visual C - Programa

 
Vista:

Programa

Publicado por Máximo (1 intervención) el 02/10/2001 18:13:41
Necesito hacer un programita que lea las caracteristicas de la pc, es decir, poner un disket y que me lea la bios, para saber que tipo de procesador tiene, capacidad de disco, memoria ram, etc., quisiera saber si alguien me puede ayudar, de donde puedo sacar información, con el lenguaje de programación "C" lo puedo hacer o si exite algun código fuente que me puedan facilitar, porque luego a esa información la tengo que volcar a una base de datos. Muchas Gracias.

Máximo

[email protected]
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Leer características de la PC en C

Publicado por Alejandro (913 intervenciones) el 16/10/2024 17:04:53
Para leer las características del hardware de una PC, como la BIOS, el procesador, la capacidad del disco y la memoria RAM, puedes utilizar diferentes enfoques dependiendo del sistema operativo. En Windows, puedes usar la API de Windows para obtener esta información. A continuación, te muestro cómo hacerlo en C.

1. Obtener información del sistema



Puedes utilizar las siguientes funciones de la API de Windows:

- `GetSystemInfo`: Para obtener información sobre el procesador y la memoria.
- `GlobalMemoryStatusEx`: Para obtener información sobre la memoria RAM.
- `GetLogicalDrives` y `GetDiskFreeSpaceEx`: Para obtener información sobre los discos.

2. Ejemplo de código



Aquí tienes un ejemplo básico que muestra cómo obtener información del sistema:

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
35
36
37
38
39
#include <stdio.h>
#include <windows.h>
 
void obtenerInformacionSistema() {
    SYSTEM_INFO si;
    GetSystemInfo(&si);
 
    printf("Información del procesador:\n");
    printf("Número de procesadores: %u\n", si.dwNumberOfProcessors);
    printf("Tipo de procesador: %u\n", si.dwProcessorType);
 
    // Obtener información de la memoria
    MEMORYSTATUSEX estadoMemoria;
    estadoMemoria.dwLength = sizeof(estadoMemoria);
    GlobalMemoryStatusEx(&estadoMemoria);
 
    printf("\nInformación de la memoria:\n");
    printf("Memoria total: %llu MB\n", estadoMemoria.ullTotalPhys / (1024 * 1024));
    printf("Memoria disponible: %llu MB\n", estadoMemoria.ullAvailPhys / (1024 * 1024));
 
    // Obtener información del disco
    DWORD unidades = GetLogicalDrives();
    printf("\nUnidades de disco:\n");
    for (char letra = 'A'; letra <= 'Z'; letra++) {
        if (unidades & (1 << (letra - 'A'))) {
            char ruta[4] = { letra, ':', '\\', '\0' };
            DWORD espacioLibre, espacioTotal;
            if (GetDiskFreeSpaceEx(ruta, (PULARGE_INTEGER)&espacioLibre, (PULARGE_INTEGER)&espacioTotal, NULL)) {
                printf("Unidad %s - Espacio total: %llu MB, Espacio libre: %llu MB\n",
                       ruta, espacioTotal / (1024 * 1024), espacioLibre / (1024 * 1024));
            }
        }
    }
}
 
int main() {
    obtenerInformacionSistema();
    return 0;
}

Notas importantes:



1. Compilación: Asegúrate de compilar el código en un entorno que soporte la API de Windows, como Visual Studio.
2. Permisos: Algunas funciones pueden requerir permisos de administrador para acceder a información del sistema.
3. Volcado a base de datos: Una vez que obtengas la información, puedes usar ODBC o cualquier otra biblioteca para insertar los datos en una base de datos.

Recurso adicional:

- Documentación de la API de Windows: Puedes consultar la documentación oficial de Microsoft (https://docs.microsoft.com/en-us/windows/win32/api/) para más detalles sobre las funciones utilizadas.

¡Buena suerte, Máximo!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar