From a27aa839046b19e4177141ffcc8877da3a581fe8 Mon Sep 17 00:00:00 2001 From: Rafal Harabien Date: Sat, 2 Apr 2011 17:51:09 +0000 Subject: [PATCH] [SYSTEMINFO] Clean it up a bit Prepare for CSV format support svn path=/trunk/; revision=51233 --- .../sysutils/systeminfo/lang/de-DE.rc | 60 +++-- .../sysutils/systeminfo/lang/en-US.rc | 62 ++--- .../sysutils/systeminfo/lang/es-ES.rc | 62 ++--- .../sysutils/systeminfo/lang/fr-FR.rc | 62 ++--- .../sysutils/systeminfo/lang/no-NO.rc | 62 ++--- .../sysutils/systeminfo/lang/pl-PL.rc | 62 ++--- .../sysutils/systeminfo/lang/sk-SK.rc | 62 ++--- .../sysutils/systeminfo/lang/uk-UA.rc | 62 ++--- .../sysutils/systeminfo/resource.h | 54 ++-- .../sysutils/systeminfo/systeminfo.c | 245 ++++++++++-------- 10 files changed, 428 insertions(+), 365 deletions(-) diff --git a/rosapps/applications/sysutils/systeminfo/lang/de-DE.rc b/rosapps/applications/sysutils/systeminfo/lang/de-DE.rc index 287217c99b1..f7a0e476016 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/de-DE.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/de-DE.rc @@ -31,34 +31,38 @@ Beispiele:\n\ SYSTEMINFO /S system /FO LIST\n\ SYSTEMINFO /S system /FO CSV /NH\n" -IDS_HOST_NAME, "Domäne: %s\n" -IDS_OS_NAME, "OS Name: %s\n" -IDS_OS_VERSION, "OS Version: %u.%u.%u %s Build %u\n" -IDS_OS_BUILD_TYPE, "OS Build Typ: %s\n" -IDS_REG_OWNER, "Registrierter Benutzer: %s\n" -IDS_REG_ORG, "Registrierte Organisation: %s\n" -IDS_PRODUCT_ID, "Produkt ID: %s\n" -IDS_INST_DATE, "Installationsdatum: %s\n" -IDS_UP_TIME, "System Up Time: %u Days, %u Hours, %u Minutes, %u Seconds\n" -IDS_SYS_MANUFACTURER, "System Manufacturer: %s\n" -IDS_SYS_MODEL, "System Model: %s\n" -IDS_SYS_TYPE, "Systemtyp: %s\n" -IDS_PROCESSORS, "Prozessor(en): %u Prozessor(en) Installiert.\n" -IDS_BIOS_DATE, "BIOS Datum: %s\n" -IDS_BIOS_VERSION, "BIOS Version: %s\n" -IDS_ROS_DIR, "ReactOS Verzeichnis: %s\n" -IDS_SYS_DIR, "System Verzeichnis: %s\n" -IDS_BOOT_DEV, "Startgerät: %s\n" -IDS_SYS_LOCALE, "Systemgebietsschema: %s\n" -IDS_INPUT_LOCALE, "Eingabegebietsschema: %s\n" -IDS_TIME_ZONE, "Zeitzone: %s\n" -IDS_TOTAL_PHYS_MEM, "Gesamter Physikalischer Speicher: %s MB\n" -IDS_AVAIL_PHISICAL_MEM, "Verfügbarer Physikalischer Speicher: %s MB\n" -IDS_VIRT_MEM_MAX, "Auslagerungsdatei: Max Größe: %s MB\n" -IDS_VIRT_MEM_AVAIL, "Auslagerungsdatei: Verfügbar: %s MB\n" -IDS_VIRT_MEM_INUSE, "Auslagerungsdatei: In Verwendung: %s MB\n" +IDS_HOST_NAME, "Domäne" +IDS_OS_NAME, "OS Name" +IDS_OS_VERSION, "OS Version: Build %u" +IDS_BUILD, "Build" +IDS_OS_BUILD_TYPE, "OS Build Typ" +IDS_REG_OWNER, "Registrierter Benutzer" +IDS_REG_ORG, "Registrierte Organisation" +IDS_PRODUCT_ID, "Produkt ID" +IDS_INST_DATE, "Installationsdatum" +IDS_UP_TIME, "System Up Time" +IDS_UP_TIME_FORMAT "%u Days, %u Hours, %u Minutes, %u Seconds" +IDS_SYS_MANUFACTURER, "System Manufacturer" +IDS_SYS_MODEL, "System Model" +IDS_SYS_TYPE, "Systemtyp" +IDS_PROCESSORS, "Prozessor(en)" +IDS_PROCESSORS_FORMAT, "%u Prozessor(en) Installiert." +IDS_BIOS_DATE, "BIOS Datum" +IDS_BIOS_VERSION, "BIOS Version" +IDS_ROS_DIR, "ReactOS Verzeichnis" +IDS_SYS_DIR, "System Verzeichnis" +IDS_BOOT_DEV, "Startgerät" +IDS_SYS_LOCALE, "Systemgebietsschema" +IDS_INPUT_LOCALE, "Eingabegebietsschema" +IDS_TIME_ZONE, "Zeitzone" +IDS_TOTAL_PHYS_MEM, "Gesamter Physikalischer Speicher" +IDS_AVAIL_PHISICAL_MEM, "Verfügbarer Physikalischer Speicher" +IDS_VIRT_MEM_MAX, "Auslagerungsdatei: Max Größe" +IDS_VIRT_MEM_AVAIL, "Auslagerungsdatei: Verfügbar" +IDS_VIRT_MEM_INUSE, "Auslagerungsdatei: In Verwendung" IDS_PAGEFILE_LOC, "Auslagerungsdateipfad(e): %s" -IDS_DOMAIN, "Domain: %s\n" -IDS_NETWORK_CARDS, "Netzwerkkarte(n) %u Installiert.\n" +IDS_DOMAIN, "Domain" +IDS_NETWORK_CARDS, "Netzwerkkarte(n)" +IDS_NETWORK_CARDS_FORMAT, "%u Installiert." END diff --git a/rosapps/applications/sysutils/systeminfo/lang/en-US.rc b/rosapps/applications/sysutils/systeminfo/lang/en-US.rc index aa0c7713a08..05bdb9dac96 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/en-US.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/en-US.rc @@ -29,34 +29,38 @@ Examples:\n\ SYSTEMINFO /S system /FO LIST\n\ SYSTEMINFO /S system /FO CSV /NH\n" -IDS_HOST_NAME, "Host Name: %s\n" -IDS_OS_NAME, "OS Name: %s\n" -IDS_OS_VERSION, "OS Version: %u.%u.%u %s Build %u\n" -IDS_OS_BUILD_TYPE, "OS Build Type: %s\n" -IDS_REG_OWNER, "Registered Owner: %s\n" -IDS_REG_ORG, "Registered Organization: %s\n" -IDS_PRODUCT_ID, "Product ID: %s\n" -IDS_INST_DATE, "Install Date: %s\n" -IDS_UP_TIME, "System Up Time: %u Days, %u Hours, %u Minutes, %u Seconds\n" -IDS_SYS_MANUFACTURER, "System Manufacturer: %s\n" -IDS_SYS_MODEL, "System Model: %s\n" -IDS_SYS_TYPE, "System type: %s\n" -IDS_PROCESSORS, "Processor(s): %u Processor(s) Installed.\n" -IDS_BIOS_DATE, "BIOS Date: %s\n" -IDS_BIOS_VERSION, "BIOS Version: %s\n" -IDS_ROS_DIR, "ReactOS Directory: %s\n" -IDS_SYS_DIR, "System Directory: %s\n" -IDS_BOOT_DEV, "Boot Device: %s\n" -IDS_SYS_LOCALE, "System Locale: %s\n" -IDS_INPUT_LOCALE, "Input Locale: %s\n" -IDS_TIME_ZONE, "Time zone: %s\n" -IDS_TOTAL_PHYS_MEM, "Total Physical Memory: %s MB\n" -IDS_AVAIL_PHISICAL_MEM, "Available Physical Memory: %s MB\n" -IDS_VIRT_MEM_MAX, "Virtual Memory: Max Size: %s MB\n" -IDS_VIRT_MEM_AVAIL, "Virtual Memory: Available: %s MB\n" -IDS_VIRT_MEM_INUSE, "Virtual Memory: In Use: %s MB\n" -IDS_PAGEFILE_LOC, "Page File Location(s): %s\n" -IDS_DOMAIN, "Domain: %s\n" -IDS_NETWORK_CARDS, "Network Card(s) %u Installed.\n" +IDS_HOST_NAME, "Host Name" +IDS_OS_NAME, "OS Name" +IDS_OS_VERSION, "OS Version" +IDS_BUILD, "Build" +IDS_OS_BUILD_TYPE, "OS Build Type" +IDS_REG_OWNER, "Registered Owner" +IDS_REG_ORG, "Registered Organization" +IDS_PRODUCT_ID, "Product ID" +IDS_INST_DATE, "Install Date" +IDS_UP_TIME, "System Up Time" +IDS_UP_TIME_FORMAT "%u Days, %u Hours, %u Minutes, %u Seconds" +IDS_SYS_MANUFACTURER, "System Manufacturer" +IDS_SYS_MODEL, "System Model" +IDS_SYS_TYPE, "System type" +IDS_PROCESSORS, "Processor(s)" +IDS_PROCESSORS_FORMAT, "%u Processor(s) Installed." +IDS_BIOS_DATE, "BIOS Date" +IDS_BIOS_VERSION, "BIOS Version" +IDS_ROS_DIR, "ReactOS Directory" +IDS_SYS_DIR, "System Directory" +IDS_BOOT_DEV, "Boot Device" +IDS_SYS_LOCALE, "System Locale" +IDS_INPUT_LOCALE, "Input Locale" +IDS_TIME_ZONE, "Time zone" +IDS_TOTAL_PHYS_MEM, "Total Physical Memory" +IDS_AVAIL_PHISICAL_MEM, "Available Physical Memory" +IDS_VIRT_MEM_MAX, "Virtual Memory: Max Size" +IDS_VIRT_MEM_AVAIL, "Virtual Memory: Available" +IDS_VIRT_MEM_INUSE, "Virtual Memory: In Use" +IDS_PAGEFILE_LOC, "Page File Location(s)" +IDS_DOMAIN, "Domain" +IDS_NETWORK_CARDS, "Network Card(s)" +IDS_NETWORK_CARDS_FORMAT, "%u Installed." END diff --git a/rosapps/applications/sysutils/systeminfo/lang/es-ES.rc b/rosapps/applications/sysutils/systeminfo/lang/es-ES.rc index c9ec95f6a78..b57be05cf12 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/es-ES.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/es-ES.rc @@ -34,34 +34,38 @@ Ejemplos:\n\ SYSTEMINFO /S sistema /FO LIST\n\ SYSTEMINFO /S sistema /FO CSV /NH\n" -IDS_HOST_NAME, "Nombre del Servidor: %s\n" -IDS_OS_NAME, "Nombre Sistema Operativo: %s\n" -IDS_OS_VERSION, "Versión Sistema Operativo: %u.%u.%u %s Compilación %u\n" -IDS_OS_BUILD_TYPE, "Tipo Compilación: %s\n" -IDS_REG_OWNER, "Propietario: %s\n" -IDS_REG_ORG, "Organización: %s\n" -IDS_PRODUCT_ID, "Identificador de Producto %s\n" -IDS_INST_DATE, "Fecha de Instalación: %s\n" -IDS_UP_TIME, "System Up Time: %u Days, %u Hours, %u Minutes, %u Seconds\n" -IDS_SYS_MANUFACTURER, "System Manufacturer: %s\n" -IDS_SYS_MODEL, "System Model: %s\n" -IDS_SYS_TYPE, "Tipo de sistema: %s\n" -IDS_PROCESSORS, "Procesador(es): %u Procesador(es) Instalados.\n" -IDS_BIOS_DATE, "Fecha BIOS: %s\n" -IDS_BIOS_VERSION, "Versión BIOS: %s\n" -IDS_ROS_DIR, "Directorio de ReactOS: %s\n" -IDS_SYS_DIR, "Directorio del Sistema: %s\n" -IDS_BOOT_DEV, "Dispositivo de Inicio: %s\n" -IDS_SYS_LOCALE, "Idioma del sistema: %s\n" -IDS_INPUT_LOCALE, "Idioma de entrada: %s\n" -IDS_TIME_ZONE, "Zona horario: %s\n" -IDS_TOTAL_PHYS_MEM, "Memoria Física Total: %s MB\n" -IDS_AVAIL_PHISICAL_MEM, "Memoria Física Disponible: %s MB\n" -IDS_VIRT_MEM_MAX, "Memoria Virtual: Tamaño Máx: %s MB\n" -IDS_VIRT_MEM_AVAIL, "Memoria Virtual: Disponible: %s MB\n" -IDS_VIRT_MEM_INUSE, "Memoria Virtual: En Uso: %s MB\n" -IDS_PAGEFILE_LOC, "Ruta(s) Archivo Paginación: %s\n" -IDS_DOMAIN, "Dominio: %s\n" -IDS_NETWORK_CARDS, "Tarjeta(s) de Red %u No Instalada.\n" +IDS_HOST_NAME, "Nombre del Servidor" +IDS_OS_NAME, "Nombre Sistema Operativo" +IDS_OS_VERSION, "Versión Sistema Operativo" +IDS_BUILD, "Compilación" +IDS_OS_BUILD_TYPE, "Tipo Compilación" +IDS_REG_OWNER, "Propietario" +IDS_REG_ORG, "Organización" +IDS_PRODUCT_ID, "Identificador de Producto" +IDS_INST_DATE, "Fecha de Instalación" +IDS_UP_TIME, "System Up Time" +IDS_UP_TIME_FORMAT "%u Days, %u Hours, %u Minutes, %u Seconds" +IDS_SYS_MANUFACTURER, "System Manufacturer" +IDS_SYS_MODEL, "System Model" +IDS_SYS_TYPE, "Tipo de sistema" +IDS_PROCESSORS, "Procesador(es)" +IDS_PROCESSORS_FORMAT, "%u Procesador(es) Instalados." +IDS_BIOS_DATE, "Fecha BIOS" +IDS_BIOS_VERSION, "Versión BIOS" +IDS_ROS_DIR, "Directorio de ReactOS" +IDS_SYS_DIR, "Directorio del Sistema" +IDS_BOOT_DEV, "Dispositivo de Inicio" +IDS_SYS_LOCALE, "Idioma del sistema" +IDS_INPUT_LOCALE, "Idioma de entrada" +IDS_TIME_ZONE, "Zona horario" +IDS_TOTAL_PHYS_MEM, "Memoria Física Total" +IDS_AVAIL_PHISICAL_MEM, "Memoria Física Disponible" +IDS_VIRT_MEM_MAX, "Memoria Virtual: Tamaño Máx" +IDS_VIRT_MEM_AVAIL, "Memoria Virtual: Disponible" +IDS_VIRT_MEM_INUSE, "Memoria Virtual: En Uso" +IDS_PAGEFILE_LOC, "Ruta(s) Archivo Paginación" +IDS_DOMAIN, "Dominio" +IDS_NETWORK_CARDS, "Tarjeta(s) de Red" +IDS_NETWORK_CARDS_FORMAT, "%u No Instalada." END diff --git a/rosapps/applications/sysutils/systeminfo/lang/fr-FR.rc b/rosapps/applications/sysutils/systeminfo/lang/fr-FR.rc index 82b5a62f84d..88eb9c06d4c 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/fr-FR.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/fr-FR.rc @@ -29,34 +29,38 @@ Exemples:\n\ SYSTEMINFO /S système /FO LIST\n\ SYSTEMINFO /S système /FO CSV /NH\n" -IDS_HOST_NAME, "Nom d'hôte : %s\n" -IDS_OS_NAME, "Nom du système d'exploitation : %s\n" -IDS_OS_VERSION, "Version du système d'exploitation : %u.%u.%u %s Compilation %u\n" -IDS_OS_BUILD_TYPE, "Type de compilation du système d'exploitation : %s\n" -IDS_REG_OWNER, "Propriétaire enregistré : %s\n" -IDS_REG_ORG, "Organisation enregistrée : %s\n" -IDS_PRODUCT_ID, "ID du produit : %s\n" -IDS_INST_DATE, "Date d'installation : %s\n" -IDS_UP_TIME, "System Up Time: %u Days, %u Hours, %u Minutes, %u Seconds\n" -IDS_SYS_MANUFACTURER, "System Manufacturer: %s\n" -IDS_SYS_MODEL, "System Model: %s\n" -IDS_SYS_TYPE, "Type du système : %s\n" -IDS_PROCESSORS, "Processeur(s) : %u Processeur(s) installé(s).\n" -IDS_BIOS_DATE, "Date du BIOS : %s\n" -IDS_BIOS_VERSION, "Version du BIOS : %s\n" -IDS_ROS_DIR, "Répertoire ReactOS : %s\n" -IDS_SYS_DIR, "Répertoire système : %s\n" -IDS_BOOT_DEV, "Périphérique de démarrage : %s\n" -IDS_SYS_LOCALE, "Paramètre régional du système : %s\n" -IDS_INPUT_LOCALE, "Paramètre régional de saisie : %s\n" -IDS_TIME_ZONE, "Fuseau horaire : %s\n" -IDS_TOTAL_PHYS_MEM, "Mémoire physique totale : %s Mo\n" -IDS_AVAIL_PHISICAL_MEM, "Mémoire physique disponible : %s Mo\n" -IDS_VIRT_MEM_MAX, "Mémoire virtuelle: Taille max : %s Mo\n" -IDS_VIRT_MEM_AVAIL, "Mémoire virtuelle: Disponible : %s Mo\n" -IDS_VIRT_MEM_INUSE, "Mémoire virtuelle: Utilisée : %s Mo\n" -IDS_PAGEFILE_LOC, "Emplacement(s) des fichiers d'échange : %s" -IDS_DOMAIN, "Domaine : %s\n" -IDS_NETWORK_CARDS, "Carte(s) réseau %u installée(s).\n" +IDS_HOST_NAME, "Nom d'hôte" +IDS_OS_NAME, "Nom du système d'exploitation" +IDS_OS_VERSION, "Version du système d'exploitation" +IDS_BUILD, "Compilation" +IDS_OS_BUILD_TYPE, "Type de compilation du système d'exploitation" +IDS_REG_OWNER, "Propriétaire enregistré" +IDS_REG_ORG, "Organisation enregistrée" +IDS_PRODUCT_ID, "ID du produit" +IDS_INST_DATE, "Date d'installation" +IDS_UP_TIME, "System Up Time" +IDS_UP_TIME_FORMAT "%u Days, %u Hours, %u Minutes, %u Seconds" +IDS_SYS_MANUFACTURER, "System Manufacturer" +IDS_SYS_MODEL, "System Model" +IDS_SYS_TYPE, "Type du système" +IDS_PROCESSORS, "Processeur(s)" +IDS_PROCESSORS_FORMAT, "%u Processeur(s) installé(s)." +IDS_BIOS_DATE, "Date du BIOS" +IDS_BIOS_VERSION, "Version du BIOS" +IDS_ROS_DIR, "Répertoire ReactOS" +IDS_SYS_DIR, "Répertoire système" +IDS_BOOT_DEV, "Périphérique de démarrage" +IDS_SYS_LOCALE, "Paramètre régional du système" +IDS_INPUT_LOCALE, "Paramètre régional de saisie" +IDS_TIME_ZONE, "Fuseau horaire" +IDS_TOTAL_PHYS_MEM, "Mémoire physique totale" +IDS_AVAIL_PHISICAL_MEM, "Mémoire physique disponible" +IDS_VIRT_MEM_MAX, "Mémoire virtuelle: Taille max" +IDS_VIRT_MEM_AVAIL, "Mémoire virtuelle: Disponible" +IDS_VIRT_MEM_INUSE, "Mémoire virtuelle: Utilisée" +IDS_PAGEFILE_LOC, "Emplacement(s) des fichiers d'échange" +IDS_DOMAIN, "Domaine" +IDS_NETWORK_CARDS, "Carte(s) réseau" +IDS_NETWORK_CARDS_FORMAT, "%u installée(s)." END diff --git a/rosapps/applications/sysutils/systeminfo/lang/no-NO.rc b/rosapps/applications/sysutils/systeminfo/lang/no-NO.rc index 7f92fe924a3..af655d38478 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/no-NO.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/no-NO.rc @@ -29,34 +29,38 @@ Eksempler:\n\ SYSTEMINFO /S system /FO LIST\n\ SYSTEMINFO /S system /FO CSV /NH\n" -IDS_HOST_NAME, "Datamaskin navn: %s\n" -IDS_OS_NAME, "OS navn: %s\n" -IDS_OS_VERSION, "OS versjon: %u.%u.%u %s Bygget %u\n" -IDS_OS_BUILD_TYPE, "OS bygg type: %s\n" -IDS_REG_OWNER, "Registert eier: %s\n" -IDS_REG_ORG, "Registerert organisasjon: %s\n" -IDS_PRODUCT_ID, "Produkt ID: %s\n" -IDS_INST_DATE, "Installert dato: %s\n" -IDS_UP_TIME, "System Up Time: %u Days, %u Hours, %u Minutes, %u Seconds\n" -IDS_SYS_MANUFACTURER, "System Manufacturer: %s\n" -IDS_SYS_MODEL, "System Model: %s\n" -IDS_SYS_TYPE, "Systemtype: %s\n" -IDS_PROCESSORS, "Prosessor(er): %u Prosessor(er) installert.\n" -IDS_BIOS_DATE, "BIOS dato: %s\n" -IDS_BIOS_VERSION, "BIOS Versjon: %s\n" -IDS_ROS_DIR, "ReactOS mappe: %s\n" -IDS_SYS_DIR, "System mappe: %s\n" -IDS_BOOT_DEV, "Oppstartsenhet: %s\n" -IDS_SYS_LOCALE, "System lokal: %s\n" -IDS_INPUT_LOCALE, "Input lokal: %s\n" -IDS_TIME_ZONE, "Tidssone: %s\n" -IDS_TOTAL_PHYS_MEM, "Total fysisk minne: %s MB\n" -IDS_AVAIL_PHISICAL_MEM, "Tilgjengelig fysisk minne: %s MB\n" -IDS_VIRT_MEM_MAX, "Virtuelt minne: Maks Størrelse: %s MB\n" -IDS_VIRT_MEM_AVAIL, "Virtuelt minne: Tilgjengelig: %s MB\n" -IDS_VIRT_MEM_INUSE, "Virtuelt minne: i bruk: %s MB\n" -IDS_PAGEFILE_LOC, "Sidevekslingsfil lokalsjon(er): %s\n" -IDS_DOMAIN, "Domene: %s\n" -IDS_NETWORK_CARDS, "Nettverkskort(er) %u installert.\n" +IDS_HOST_NAME, "Datamaskin navn" +IDS_OS_NAME, "OS navn" +IDS_OS_VERSION, "OS versjon" +IDS_BUILD, "Bygget" +IDS_OS_BUILD_TYPE, "OS bygg type" +IDS_REG_OWNER, "Registert eier" +IDS_REG_ORG, "Registerert organisasjon" +IDS_PRODUCT_ID, "Produkt ID" +IDS_INST_DATE, "Installert dato" +IDS_UP_TIME, "System Up Time" +IDS_UP_TIME_FORMAT "%u Days, %u Hours, %u Minutes, %u Seconds" +IDS_SYS_MANUFACTURER, "System Manufacturer" +IDS_SYS_MODEL, "System Model" +IDS_SYS_TYPE, "Systemtype" +IDS_PROCESSORS, "Prosessor(er)" +IDS_PROCESSORS_FORMAT, "%u Prosessor(er) installert." +IDS_BIOS_DATE, "BIOS dato" +IDS_BIOS_VERSION, "BIOS Versjon" +IDS_ROS_DIR, "ReactOS mappe" +IDS_SYS_DIR, "System mappe" +IDS_BOOT_DEV, "Oppstartsenhet" +IDS_SYS_LOCALE, "System lokal" +IDS_INPUT_LOCALE, "Input lokal" +IDS_TIME_ZONE, "Tidssone" +IDS_TOTAL_PHYS_MEM, "Total fysisk minne" +IDS_AVAIL_PHISICAL_MEM, "Tilgjengelig fysisk minne" +IDS_VIRT_MEM_MAX, "Virtuelt minne: Maks Størrelse" +IDS_VIRT_MEM_AVAIL, "Virtuelt minne: Tilgjengelig" +IDS_VIRT_MEM_INUSE, "Virtuelt minne: i bruk" +IDS_PAGEFILE_LOC, "Sidevekslingsfil lokalsjon(er)" +IDS_DOMAIN, "Domene" +IDS_NETWORK_CARDS, "Nettverkskort(er)" +IDS_NETWORK_CARDS_FORMAT, "%u installert." END diff --git a/rosapps/applications/sysutils/systeminfo/lang/pl-PL.rc b/rosapps/applications/sysutils/systeminfo/lang/pl-PL.rc index fc92954bd17..c18a60935c2 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/pl-PL.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/pl-PL.rc @@ -36,34 +36,38 @@ Przyk SYSTEMINFO /S system /FO LIST\n\ SYSTEMINFO /S system /FO CSV /NH\n" -IDS_HOST_NAME, "Nazwa hosta: %s\n" -IDS_OS_NAME, "Nazwa Systemu: %s\n" -IDS_OS_VERSION, "Wersja: %u.%u.%u %s Kompilacja %u\n" -IDS_OS_BUILD_TYPE, "Rodzaj kompilacji: %s\n" -IDS_REG_OWNER, "U¿ytkownik: %s\n" -IDS_REG_ORG, "Organizacja: %s\n" -IDS_PRODUCT_ID, "ID produktu: %s\n" -IDS_INST_DATE, "Data instalacji: %s\n" -IDS_UP_TIME, "Czas pracy systemu: %u dni, %u godzin, %u minut, %u sekund\n" -IDS_SYS_MANUFACTURER, "Producent systemu: %s\n" -IDS_SYS_MODEL, "Model systemu: %s\n" -IDS_SYS_TYPE, "Rodzaj systemu: %s\n" -IDS_PROCESSORS, "Iloœæ Procesorów: %u.\n" -IDS_BIOS_DATE, "Data BIOSu: %s\n" -IDS_BIOS_VERSION, "Wersja BIOSu: %s\n" -IDS_ROS_DIR, "Katalog ReactOS: %s\n" -IDS_SYS_DIR, "Katalog Systemowy: %s\n" -IDS_BOOT_DEV, "Urz¹dzenie Ÿród³owe: %s\n" -IDS_SYS_LOCALE, "Wersja lokalizacji: %s\n" -IDS_INPUT_LOCALE, "Lokalizacja klawiatury: %s\n" -IDS_TIME_ZONE, "Strefa czasowa: %s\n" -IDS_TOTAL_PHYS_MEM, "Pamiêci fizycznej ogó³em: %s MB\n" -IDS_AVAIL_PHISICAL_MEM, "Dostêpnej pamiêci fizycznej: %s MB\n" -IDS_VIRT_MEM_MAX, "Pamiêci wirtualnej: maksymalnie: %s MB\n" -IDS_VIRT_MEM_AVAIL, "Pamiêci wirtualnej: dostêpne: %s MB\n" -IDS_VIRT_MEM_INUSE, "Pamiêci wirtualnej: w u¿yciu: %s MB\n" -IDS_PAGEFILE_LOC, "Lokalizacja pliku wymiany: %s\n" -IDS_DOMAIN, "Domena: %s\n" -IDS_NETWORK_CARDS, "Liczba kart sieciowych %u.\n" +IDS_HOST_NAME, "Nazwa hosta" +IDS_OS_NAME, "Nazwa systemu" +IDS_OS_VERSION, "Wersja systemu" +IDS_BUILD, "Kompilacja" +IDS_OS_BUILD_TYPE, "Rodzaj kompilacji" +IDS_REG_OWNER, "U¿ytkownik" +IDS_REG_ORG, "Organizacja" +IDS_PRODUCT_ID, "ID produktu" +IDS_INST_DATE, "Data instalacji" +IDS_UP_TIME, "Czas pracy systemu" +IDS_UP_TIME_FORMAT "%u dni, %u godzin, %u minut, %u sekund" +IDS_SYS_MANUFACTURER, "Producent systemu" +IDS_SYS_MODEL, "Model systemu" +IDS_SYS_TYPE, "Rodzaj systemu" +IDS_PROCESSORS, "Procesory" +IDS_PROCESSORS_FORMAT, "Zainstalowane procesory: %u." +IDS_BIOS_DATE, "Data BIOSu" +IDS_BIOS_VERSION, "Wersja BIOSu" +IDS_ROS_DIR, "Katalog ReactOS" +IDS_SYS_DIR, "Katalog Systemowy" +IDS_BOOT_DEV, "Urz¹dzenie Ÿród³owe" +IDS_SYS_LOCALE, "Wersja lokalizacji" +IDS_INPUT_LOCALE, "Lokalizacja klawiatury" +IDS_TIME_ZONE, "Strefa czasowa" +IDS_TOTAL_PHYS_MEM, "Pamiêci fizycznej ogó³em" +IDS_AVAIL_PHISICAL_MEM, "Dostêpnej pamiêci fizycznej" +IDS_VIRT_MEM_MAX, "Pamiêci wirtualnej: maksymalnie" +IDS_VIRT_MEM_AVAIL, "Pamiêci wirtualnej: dostêpne" +IDS_VIRT_MEM_INUSE, "Pamiêci wirtualnej: w u¿yciu" +IDS_PAGEFILE_LOC, "Lokalizacja pliku wymiany" +IDS_DOMAIN, "Domena" +IDS_NETWORK_CARDS, "Karty sieciowe" +IDS_NETWORK_CARDS_FORMAT, "Zainstalowane karty NIC: %u." END diff --git a/rosapps/applications/sysutils/systeminfo/lang/sk-SK.rc b/rosapps/applications/sysutils/systeminfo/lang/sk-SK.rc index 474373b7744..7da44551e49 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/sk-SK.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/sk-SK.rc @@ -33,34 +33,38 @@ Examples:\n\ SYSTEMINFO /S system /FO LIST\n\ SYSTEMINFO /S system /FO CSV /NH\n" -IDS_HOST_NAME, "Host Name: %s\n" -IDS_OS_NAME, "N zov OS: %s\n" -IDS_OS_VERSION, "Verzia OS: %u.%u.%u %s Build %u\n" -IDS_OS_BUILD_TYPE, "OS Build typ: %s\n" -IDS_REG_OWNER, "Registovanì vlastn¡k: %s\n" -IDS_REG_ORG, "Registrovan  organiz cia: %s\n" -IDS_PRODUCT_ID, "ID produktu: %s\n" -IDS_INST_DATE, "D tum inçtal cie: %s\n" -IDS_UP_TIME, "System Up Time: %u Days, %u Hours, %u Minutes, %u Seconds\n" -IDS_SYS_MANUFACTURER, "System Manufacturer: %s\n" -IDS_SYS_MODEL, "System Model: %s\n" -IDS_SYS_TYPE, "Typ syst‚mu: %s\n" -IDS_PROCESSORS, "Procesor(y): %u Procesor(y) nainçtalovanì.\n" -IDS_BIOS_DATE, "D tum BIOSu: %s\n" -IDS_BIOS_VERSION, "Verzia BIOSu: %s\n" -IDS_ROS_DIR, "Adres r ReactOS: %s\n" -IDS_SYS_DIR, "Adres r System: %s\n" -IDS_BOOT_DEV, "Zav dzacie zariadenie: %s\n" -IDS_SYS_LOCALE, "System Locale: %s\n" -IDS_INPUT_LOCALE, "Input Locale: %s\n" -IDS_TIME_ZONE, "¬asov‚ p smo: %s\n" -IDS_TOTAL_PHYS_MEM, "Celkov  fyzick  pam„œ: %s MB\n" -IDS_AVAIL_PHISICAL_MEM, "Dostupn  fyzick  pam„œ: %s MB\n" -IDS_VIRT_MEM_MAX, "Virtu lna pam„œ: Max Size: %s MB\n" -IDS_VIRT_MEM_AVAIL, "Virtu lna pam„œ: Available: %s MB\n" -IDS_VIRT_MEM_INUSE, "Virtu lna pam„œ: In Use: %s MB\n" -IDS_PAGEFILE_LOC, "Umiestnenie(a) str nkovacieho s£boru: %s\n" -IDS_DOMAIN, "Dom‚na: %s\n" -IDS_NETWORK_CARDS, "Sieœov  karta(y) %u nainçtalovan .\n" +IDS_HOST_NAME, "Host Name" +IDS_OS_NAME, "N zov OS" +IDS_OS_VERSION, "Verzia OS" +IDS_BUILD, "Build" +IDS_OS_BUILD_TYPE, "OS Build typ" +IDS_REG_OWNER, "Registovanì vlastn¡k" +IDS_REG_ORG, "Registrovan  organiz cia" +IDS_PRODUCT_ID, "ID produktu" +IDS_INST_DATE, "D tum inçtal cie" +IDS_UP_TIME, "System Up Time" +IDS_UP_TIME_FORMAT "%u Days, %u Hours, %u Minutes, %u Seconds" +IDS_SYS_MANUFACTURER, "System Manufacturer" +IDS_SYS_MODEL, "System Model" +IDS_SYS_TYPE, "Typ syst‚mu" +IDS_PROCESSORS, "Procesor(y)" +IDS_PROCESSORS_FORMAT, "%u Procesor(y) nainçtalovanì." +IDS_BIOS_DATE, "D tum BIOSu" +IDS_BIOS_VERSION, "Verzia BIOSu" +IDS_ROS_DIR, "Adres r ReactOS" +IDS_SYS_DIR, "Adres r System" +IDS_BOOT_DEV, "Zav dzacie zariadenie" +IDS_SYS_LOCALE, "System Locale" +IDS_INPUT_LOCALE, "Input Locale" +IDS_TIME_ZONE, "¬asov‚ p smo" +IDS_TOTAL_PHYS_MEM, "Celkov  fyzick  pam„œ" +IDS_AVAIL_PHISICAL_MEM, "Dostupn  fyzick  pam„œ" +IDS_VIRT_MEM_MAX, "Virtu lna pam„œ: Max Size" +IDS_VIRT_MEM_AVAIL, "Virtu lna pam„œ: Available" +IDS_VIRT_MEM_INUSE, "Virtu lna pam„œ: In Use" +IDS_PAGEFILE_LOC, "Umiestnenie(a) str nkovacieho s£boru" +IDS_DOMAIN, "Dom‚na" +IDS_NETWORK_CARDS, "Sieœov  karta(y)" +IDS_NETWORK_CARDS_FORMAT, "%u nainçtalovan." END diff --git a/rosapps/applications/sysutils/systeminfo/lang/uk-UA.rc b/rosapps/applications/sysutils/systeminfo/lang/uk-UA.rc index a0c8f57674f..08e575c3fb8 100644 --- a/rosapps/applications/sysutils/systeminfo/lang/uk-UA.rc +++ b/rosapps/applications/sysutils/systeminfo/lang/uk-UA.rc @@ -37,34 +37,38 @@ IDS_USAGE, "SYSTEMINFO [/S SYSTEMINFO /S ñèñòåìà /FO LIST\n\ SYSTEMINFO /S ñèñòåìà /FO CSV /NH\n" -IDS_HOST_NAME, "²ì'ÿ êîìï'þòåðà: %s\n" -IDS_OS_NAME, "²ì'ÿ ÎÑ: %s\n" -IDS_OS_VERSION, "Âåðñ³ÿ ÎÑ: %u.%u.%u %s Çá³ðêà %u\n" -IDS_OS_BUILD_TYPE, "Òèï çá³ðêè ÎÑ: %s\n" -IDS_REG_OWNER, "Çàðåºñòðîâàíèé âëàñíèê: %s\n" -IDS_REG_ORG, "Çàðåºñòðîâàíà îðãàí³çàö³ÿ: %s\n" -IDS_PRODUCT_ID, "ID ïðîäóêòà: %s\n" -IDS_INST_DATE, "Äàòà óñòàíîâêè: %s\n" -IDS_UP_TIME, "System Up Time: %u Days, %u Hours, %u Minutes, %u Seconds\n" -IDS_SYS_MANUFACTURER, "System Manufacturer: %s\n" -IDS_SYS_MODEL, "System Model: %s\n" -IDS_SYS_TYPE, "Òèï ñèñòåìè: %s\n" -IDS_PROCESSORS, "Ïðîöåñîð(è): %u ïðîöåñîð(à,³â) âñòàíîâëåíî.\n" -IDS_BIOS_DATE, "Äàòà BIOS: %s\n" -IDS_BIOS_VERSION, "Âåðñ³ÿ BIOS: %s\n" -IDS_ROS_DIR, "Ïàïêà ReactOS: %s\n" -IDS_SYS_DIR, "Ñèñòåìíà ïàïêà: %s\n" -IDS_BOOT_DEV, "Ïðèñòð³é çàâàíòàæåííÿ: %s\n" -IDS_SYS_LOCALE, "Ìîâà ñèñòåìè: %s\n" -IDS_INPUT_LOCALE, "Ìîâà ââîäó: %s\n" -IDS_TIME_ZONE, "×àñîâèé ïîÿñ: %s\n" -IDS_TOTAL_PHYS_MEM, "Âñüîãî ô³çè÷íî¿ ïàì'ÿò³: %s ÌÁ\n" -IDS_AVAIL_PHISICAL_MEM, "Äîñòóïíî ô³çè÷íî¿ ïàì'ÿò³: %s ÌÁ\n" -IDS_VIRT_MEM_MAX, "³ðòóàëüíà ïàì'ÿòü: Ìàêñ. ðîçì³ð: %s ÌÁ\n" -IDS_VIRT_MEM_AVAIL, "³ðòóàëüíà ïàì'ÿòü: Äîñòóïíî: %s ÌÁ\n" -IDS_VIRT_MEM_INUSE, "³ðòóàëüíà ïàì'ÿòü: Âèêîðèñò.: %s ÌÁ\n" -IDS_PAGEFILE_LOC, "Ðîçòàøóâàííÿ ôàéëó äîâàíòàæåííÿ: %s\n" -IDS_DOMAIN, "Äîìåí: %s\n" -IDS_NETWORK_CARDS, "Ìåðåæíà êàðòà(è) %u Installed.\n" +IDS_HOST_NAME, "²ì'ÿ êîìï'þòåðà" +IDS_OS_NAME, "²ì'ÿ ÎÑ" +IDS_OS_VERSION, "Âåðñ³ÿ ÎÑ" +IDS_BUILD, "Çá³ðêà" +IDS_OS_BUILD_TYPE, "Òèï çá³ðêè ÎÑ" +IDS_REG_OWNER, "Çàðåºñòðîâàíèé âëàñíèê" +IDS_REG_ORG, "Çàðåºñòðîâàíà îðãàí³çàö³ÿ" +IDS_PRODUCT_ID, "ID ïðîäóêòà" +IDS_INST_DATE, "Äàòà óñòàíîâêè" +IDS_UP_TIME, "System Up Time" +IDS_UP_TIME_FORMAT "%u Days, %u Hours, %u Minutes, %u Seconds" +IDS_SYS_MANUFACTURER, "System Manufacturer" +IDS_SYS_MODEL, "System Model" +IDS_SYS_TYPE, "Òèï ñèñòåìè" +IDS_PROCESSORS, "Ïðîöåñîð(è)" +IDS_PROCESSORS_FORMAT, "%u ïðîöåñîð(à,³â) âñòàíîâëåíî." +IDS_BIOS_DATE, "Äàòà BIOS" +IDS_BIOS_VERSION, "Âåðñ³ÿ BIOS" +IDS_ROS_DIR, "Ïàïêà ReactOS" +IDS_SYS_DIR, "Ñèñòåìíà ïàïêà" +IDS_BOOT_DEV, "Ïðèñòð³é çàâàíòàæåííÿ" +IDS_SYS_LOCALE, "Ìîâà ñèñòåìè" +IDS_INPUT_LOCALE, "Ìîâà ââîäó" +IDS_TIME_ZONE, "×àñîâèé ïîÿñ" +IDS_TOTAL_PHYS_MEM, "Âñüîãî ô³çè÷íî¿ ïàì'ÿò³" +IDS_AVAIL_PHISICAL_MEM, "Äîñòóïíî ô³çè÷íî¿ ïàì'ÿò³" +IDS_VIRT_MEM_MAX, "³ðòóàëüíà ïàì'ÿòü: Ìàêñ. ðîçì³ð" +IDS_VIRT_MEM_AVAIL, "³ðòóàëüíà ïàì'ÿòü: Äîñòóïíî" +IDS_VIRT_MEM_INUSE, "³ðòóàëüíà ïàì'ÿòü: Âèêîðèñò." +IDS_PAGEFILE_LOC, "Ðîçòàøóâàííÿ ôàéëó äîâàíòàæåííÿ" +IDS_DOMAIN, "Äîìåí" +IDS_NETWORK_CARDS, "Ìåðåæíà êàðòà(è)" +IDS_NETWORK_CARDS_FORMAT, "%u Installed." END diff --git a/rosapps/applications/sysutils/systeminfo/resource.h b/rosapps/applications/sysutils/systeminfo/resource.h index c50f3bd74e8..c69f6f5a20d 100644 --- a/rosapps/applications/sysutils/systeminfo/resource.h +++ b/rosapps/applications/sysutils/systeminfo/resource.h @@ -3,29 +3,33 @@ #define IDS_HOST_NAME 100 #define IDS_OS_NAME 101 #define IDS_OS_VERSION 102 -#define IDS_OS_BUILD_TYPE 103 -#define IDS_REG_OWNER 104 -#define IDS_REG_ORG 105 -#define IDS_PRODUCT_ID 106 -#define IDS_INST_DATE 107 +#define IDS_BUILD 103 +#define IDS_OS_BUILD_TYPE 104 +#define IDS_REG_OWNER 105 +#define IDS_REG_ORG 106 +#define IDS_PRODUCT_ID 107 +#define IDS_INST_DATE 108 #define IDS_UP_TIME 109 -#define IDS_SYS_MANUFACTURER 110 -#define IDS_SYS_MODEL 111 -#define IDS_SYS_TYPE 112 -#define IDS_PROCESSORS 113 -#define IDS_BIOS_DATE 114 -#define IDS_BIOS_VERSION 115 -#define IDS_ROS_DIR 116 -#define IDS_SYS_DIR 117 -#define IDS_BOOT_DEV 118 -#define IDS_SYS_LOCALE 119 -#define IDS_INPUT_LOCALE 120 -#define IDS_TOTAL_PHYS_MEM 121 -#define IDS_AVAIL_PHISICAL_MEM 122 -#define IDS_VIRT_MEM_MAX 123 -#define IDS_VIRT_MEM_AVAIL 124 -#define IDS_VIRT_MEM_INUSE 125 -#define IDS_PAGEFILE_LOC 126 -#define IDS_TIME_ZONE 127 -#define IDS_DOMAIN 128 -#define IDS_NETWORK_CARDS 130 +#define IDS_UP_TIME_FORMAT 110 +#define IDS_SYS_MANUFACTURER 111 +#define IDS_SYS_MODEL 112 +#define IDS_SYS_TYPE 113 +#define IDS_PROCESSORS 114 +#define IDS_PROCESSORS_FORMAT 115 +#define IDS_BIOS_DATE 116 +#define IDS_BIOS_VERSION 117 +#define IDS_ROS_DIR 118 +#define IDS_SYS_DIR 119 +#define IDS_BOOT_DEV 120 +#define IDS_SYS_LOCALE 121 +#define IDS_INPUT_LOCALE 122 +#define IDS_TOTAL_PHYS_MEM 123 +#define IDS_AVAIL_PHISICAL_MEM 124 +#define IDS_VIRT_MEM_MAX 125 +#define IDS_VIRT_MEM_AVAIL 126 +#define IDS_VIRT_MEM_INUSE 127 +#define IDS_PAGEFILE_LOC 128 +#define IDS_TIME_ZONE 129 +#define IDS_DOMAIN 130 +#define IDS_NETWORK_CARDS 131 +#define IDS_NETWORK_CARDS_FORMAT 132 diff --git a/rosapps/applications/sysutils/systeminfo/systeminfo.c b/rosapps/applications/sysutils/systeminfo/systeminfo.c index 49503679c2b..d9ebe2a6e62 100644 --- a/rosapps/applications/sysutils/systeminfo/systeminfo.c +++ b/rosapps/applications/sysutils/systeminfo/systeminfo.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -42,11 +43,11 @@ GetOemStrings(UINT rcID, LPWSTR OutMsg) /* Load data from registry */ static -BOOL -RegGetSZ(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR Buf) +unsigned +RegGetSZ(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR lpBuf, DWORD cchBuf) { - DWORD dwBytes = BUFFER_SIZE*sizeof(WCHAR), dwType; - BOOL bRet = TRUE; + DWORD dwBytes = cchBuf*sizeof(WCHAR), dwType; + unsigned cChars; /* If SubKy is specified open it */ if (lpSubKey && RegOpenKeyExW(hKey, @@ -56,29 +57,34 @@ RegGetSZ(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPWSTR Buf) &hKey) != ERROR_SUCCESS) { wprintf(L"Warning! Cannot open %s. Last error: %lu.\n", lpSubKey, GetLastError()); - return FALSE; + return 0; } if (RegQueryValueExW(hKey, lpValueName, NULL, &dwType, - (LPBYTE)Buf, + (LPBYTE)lpBuf, &dwBytes) != ERROR_SUCCESS || (dwType != REG_SZ && dwType != REG_MULTI_SZ)) { wprintf(L"Warning! Cannot query %s. Last error: %lu, type: %lu.\n", lpValueName, GetLastError(), dwType); dwBytes = 0; - bRet = FALSE; } /* Close key if we opened it */ if (lpSubKey) RegCloseKey(hKey); + cChars = dwBytes/sizeof(WCHAR); + /* NULL-terminate string */ - Buf[min(BUFFER_SIZE-1, dwBytes/sizeof(WCHAR))] = L'\0'; + lpBuf[min(cchBuf-1, cChars)] = L'\0'; + + /* Don't count NULL characters */ + while(cChars && !lpBuf[cChars-1]) + --cChars; - return bRet; + return cChars; } static @@ -119,11 +125,12 @@ RegGetDWORD(HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, LPDWORD lpData) } static -void -FormatBytes(LPWSTR Buf, unsigned cBytes) +VOID +FormatBytes(LPWSTR lpBuf, unsigned cBytes) { WCHAR szMB[32]; NUMBERFMTW fmt; + unsigned i; _itow(cBytes / (1024*1024), szMB, 10); @@ -134,15 +141,17 @@ FormatBytes(LPWSTR Buf, unsigned cBytes) fmt.lpThousandSep = L" "; fmt.NegativeOrder = 0; - if(!GetNumberFormatW(LOCALE_SYSTEM_DEFAULT, 0, szMB, &fmt, Buf, BUFFER_SIZE)) - wprintf(L"Error! GetNumberFormat failed.\n"); + i = GetNumberFormatW(LOCALE_SYSTEM_DEFAULT, 0, szMB, &fmt, lpBuf, BUFFER_SIZE - 3); + if (i) + --i; /* don't count NULL character */ + wcscpy(lpBuf + i, L" MB"); } static -void +VOID FormatDateTime(time_t Time, LPWSTR lpBuf) { - unsigned cchBuf = BUFFER_SIZE, i; + unsigned i; SYSTEMTIME SysTime; const struct tm *lpTm; @@ -156,14 +165,15 @@ FormatDateTime(time_t Time, LPWSTR lpBuf) SysTime.wSecond = (WORD)lpTm->tm_sec; SysTime.wMilliseconds = 0; - /* Time first */ - i = GetDateFormatW(LOCALE_SYSTEM_DEFAULT, 0, &SysTime, NULL, lpBuf, cchBuf); + /* Copy date first */ + i = GetDateFormatW(LOCALE_SYSTEM_DEFAULT, 0, &SysTime, NULL, lpBuf, BUFFER_SIZE - 2); if (i) --i; /* don't count NULL character */ - /* Time now */ + /* Copy time now */ i += swprintf(lpBuf + i, L", "); - GetTimeFormatW(LOCALE_SYSTEM_DEFAULT, 0, &SysTime, NULL, lpBuf + i, cchBuf - i); + i += 2; + GetTimeFormatW(LOCALE_SYSTEM_DEFAULT, 0, &SysTime, NULL, lpBuf + i, BUFFER_SIZE - i); } /* Show usage */ @@ -177,6 +187,32 @@ Usage(VOID) wprintf(L"%s", Buf); } +static +VOID +PrintRow(UINT nTitleID, unsigned cxOffset, LPWSTR lpFormat, ...) +{ + WCHAR Buf[BUFFER_SIZE]; + va_list Args; + unsigned c; + + if (nTitleID) + { + c = LoadStringW(GetModuleHandle(NULL), nTitleID, Buf, BUFFER_SIZE); + if (!c) + return; + + wcscpy(Buf + c, L":"); + } else + Buf[0] = L'\0'; + wprintf(L"%-32s ", Buf); + + va_start(Args, lpFormat); + vwprintf(lpFormat, Args); + va_end(Args); + + wprintf(L"\n"); +} + /* Print all system information */ VOID AllSysInfo(VOID) @@ -189,7 +225,7 @@ AllSysInfo(VOID) LPWSTR lpBuffer; NETSETUP_JOIN_STATUS NetJoinStatus; MEMORYSTATUS MemoryStatus; - unsigned int cSeconds; + unsigned int cSeconds, i, j; TIME_ZONE_INFORMATION TimeZoneInfo; HKEY hKey; @@ -205,8 +241,8 @@ AllSysInfo(VOID) dwCharCount = BUFFER_SIZE; if (!GetComputerNameW(Buf, &dwCharCount)) wprintf(L"Error! GetComputerName failed.\n"); - else if (GetOemStrings(IDS_HOST_NAME, Msg)) - wprintf(Msg, Buf); + else + PrintRow(IDS_HOST_NAME, 0, L"%s", Buf); // open CurrentVersion key if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, @@ -220,60 +256,60 @@ AllSysInfo(VOID) } //getting OS Name - RegGetSZ(hKey, NULL, L"ProductName", Buf); - if (GetOemStrings(IDS_OS_NAME, Msg)) - wprintf(Msg, Buf); + RegGetSZ(hKey, NULL, L"ProductName", Buf, BUFFER_SIZE); + PrintRow(IDS_OS_NAME, 0, L"%s", Buf); //getting OS Version ZeroMemory(&VersionInfo, sizeof(VersionInfo)); VersionInfo.dwOSVersionInfoSize = sizeof(VersionInfo); GetVersionExW(&VersionInfo); - if (GetOemStrings(IDS_OS_VERSION, Msg)) - wprintf(Msg, - (unsigned)VersionInfo.dwMajorVersion, - (unsigned)VersionInfo.dwMinorVersion, - (unsigned)VersionInfo.dwBuildNumber, - VersionInfo.szCSDVersion, - (unsigned)VersionInfo.dwBuildNumber); + if (!LoadStringW(GetModuleHandle(NULL), IDS_BUILD, Tmp, BUFFER_SIZE)) + Tmp[0] = L'\0'; + PrintRow(IDS_OS_VERSION, + 0, + L"%u.%u.%u %s %s %u", + (unsigned)VersionInfo.dwMajorVersion, + (unsigned)VersionInfo.dwMinorVersion, + (unsigned)VersionInfo.dwBuildNumber, + VersionInfo.szCSDVersion, + Tmp, + (unsigned)VersionInfo.dwBuildNumber); //getting OS Manufacturer //getting OS Configuration //getting OS Build Type - RegGetSZ(hKey, NULL, L"CurrentType", Buf); - if (GetOemStrings(IDS_OS_BUILD_TYPE, Msg)) - wprintf(Msg, Buf); + RegGetSZ(hKey, NULL, L"CurrentType", Buf, BUFFER_SIZE); + PrintRow(IDS_OS_BUILD_TYPE, 0, L"%s", Buf); //getting Registered Owner - RegGetSZ(hKey, NULL, L"RegisteredOwner", Buf); - if (GetOemStrings(IDS_REG_OWNER, Msg)) - wprintf(Msg, Buf); + RegGetSZ(hKey, NULL, L"RegisteredOwner", Buf, BUFFER_SIZE); + PrintRow(IDS_REG_OWNER, 0, L"%s", Buf); //getting Registered Organization - RegGetSZ(hKey, NULL, L"RegisteredOrganization", Buf); - if (GetOemStrings(IDS_REG_ORG, Msg)) - wprintf(Msg, Buf); + RegGetSZ(hKey, NULL, L"RegisteredOrganization", Buf, BUFFER_SIZE); + PrintRow(IDS_REG_ORG, 0, L"%s", Buf); //getting Product ID - RegGetSZ(hKey, NULL, L"ProductId", Buf); - if (GetOemStrings(IDS_PRODUCT_ID, Msg)) - wprintf(Msg, Buf); + RegGetSZ(hKey, NULL, L"ProductId", Buf, BUFFER_SIZE); + PrintRow(IDS_PRODUCT_ID, 0, L"%s", Buf); //getting Install Date RegGetDWORD(hKey, NULL, L"InstallDate", &dwTimestamp); FormatDateTime((time_t)dwTimestamp, Buf); - if (GetOemStrings(IDS_INST_DATE, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_INST_DATE, 0, L"%s", Buf); // close Current Version key now RegCloseKey(hKey); //getting System Up Time cSeconds = GetTickCount() / 1000; - if (GetOemStrings(IDS_UP_TIME, Msg)) - wprintf(Msg, cSeconds / (60*60*24), (cSeconds / (60*60)) % 24, (cSeconds / 60) % 60, cSeconds % 60); + if (!LoadStringW(GetModuleHandle(NULL), IDS_UP_TIME_FORMAT, Tmp, BUFFER_SIZE)) + Tmp[0] = L'\0'; + swprintf(Buf, Tmp, cSeconds / (60*60*24), (cSeconds / (60*60)) % 24, (cSeconds / 60) % 60, cSeconds % 60); + PrintRow(IDS_UP_TIME, 0, L"%s", Buf); //getting System Manufacturer; HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation\Manufacturer for Win >= 6.0 swprintf(Tmp, L"%s\\oeminfo.ini", szSystemDir); @@ -283,8 +319,7 @@ AllSysInfo(VOID) Buf, sizeof(Buf)/sizeof(Buf[0]), Tmp); - if (GetOemStrings(IDS_SYS_MANUFACTURER, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_SYS_MANUFACTURER, 0, L"%s", Buf); //getting System Model; HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation\Model for Win >= 6.0 GetPrivateProfileStringW(L"General", @@ -293,8 +328,7 @@ AllSysInfo(VOID) Buf, sizeof(Buf)/sizeof(Buf[0]), Tmp); - if (GetOemStrings(IDS_SYS_MODEL, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_SYS_MODEL, 0, L"%s", Buf); //getting System type switch (SysInfo.wProcessorArchitecture) @@ -312,93 +346,93 @@ AllSysInfo(VOID) lpcszSysType = L"Unknown"; break; } - if (GetOemStrings(IDS_SYS_TYPE, Msg)) - wprintf(Msg, lpcszSysType); + PrintRow(IDS_SYS_TYPE, 0, L"%s", lpcszSysType); //getting Processor(s) - if (GetOemStrings(IDS_PROCESSORS, Msg)) + if (!LoadStringW(GetModuleHandle(NULL), IDS_PROCESSORS_FORMAT, Tmp, BUFFER_SIZE)) + Tmp[0] = L'\0'; + swprintf(Buf, Tmp, (unsigned)SysInfo.dwNumberOfProcessors); + PrintRow(IDS_PROCESSORS, 0, L"%s", Buf); + for(i = 0; i < (unsigned int)SysInfo.dwNumberOfProcessors; i++) { - unsigned int i; - wprintf(Msg, (unsigned int)SysInfo.dwNumberOfProcessors); - for(i = 0; i < (unsigned int)SysInfo.dwNumberOfProcessors; i++) - { - swprintf(Tmp, L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u", i); - - RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"Identifier", Buf); - wprintf(L" [%02u]: %s", i+1, Buf); - - RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"VendorIdentifier", Buf); - wprintf(L" %s\n", Buf); - } + swprintf(Tmp, L"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u", i); + j = swprintf(Buf, L"[%02u]: ", i + 1); + + j += RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"Identifier", Buf + j, BUFFER_SIZE - j); + if(j + 1 < BUFFER_SIZE) + Buf[j++] = L' '; + RegGetSZ(HKEY_LOCAL_MACHINE, Tmp, L"VendorIdentifier", Buf + j, BUFFER_SIZE - j); + + PrintRow(0, 0, L"%s", Buf); } //getting BIOS Version RegGetSZ(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System", L"SystemBiosVersion", - Buf); - if (GetOemStrings(IDS_BIOS_VERSION, Msg)) - wprintf(Msg, Buf); + Buf, + BUFFER_SIZE); + PrintRow(IDS_BIOS_VERSION, 0, L"%s", Buf); //gettings BIOS date RegGetSZ(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System", L"SystemBiosDate", - Buf); - if (GetOemStrings(IDS_BIOS_DATE, Msg)) - wprintf(Msg, Buf); + Buf, + BUFFER_SIZE); + PrintRow(IDS_BIOS_DATE, 0, L"%s", Buf); //getting ReactOS Directory if (!GetWindowsDirectoryW(Buf, BUFFER_SIZE)) wprintf(L"Error! GetWindowsDirectory failed."); - else if (GetOemStrings(IDS_ROS_DIR, Msg)) - wprintf(Msg, Buf); + else + PrintRow(IDS_ROS_DIR, 0, L"%s", Buf); //getting System Directory - if (GetOemStrings(IDS_SYS_DIR, Msg)) - wprintf(Msg, szSystemDir); + PrintRow(IDS_SYS_DIR, 0, L"%s", szSystemDir); //getting Boot Device RegGetSZ(HKEY_LOCAL_MACHINE, L"SYSTEM\\Setup", L"SystemPartition", - Buf); - if (GetOemStrings(IDS_BOOT_DEV, Msg)) - wprintf(Msg, Buf); + Buf, + BUFFER_SIZE); + PrintRow(IDS_BOOT_DEV, 0, L"%s", Buf); //getting System Locale if (GetLocaleInfoW(LOCALE_SYSTEM_DEFAULT, LOCALE_ILANGUAGE, Tmp, BUFFER_SIZE)) if (RegGetSZ(HKEY_CLASSES_ROOT, L"MIME\\Database\\Rfc1766", Tmp, - Buf)) + Buf, + BUFFER_SIZE)) { /* get rid of @filename,resource */ lpBuffer = wcschr(Buf, L';'); if (lpBuffer) SHLoadIndirectString(lpBuffer+1, lpBuffer+1, BUFFER_SIZE - (lpBuffer-Buf) - 1, NULL); - if (GetOemStrings(IDS_SYS_LOCALE, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_SYS_LOCALE, 0, L"%s", Buf); } //getting Input Locale if (RegGetSZ(HKEY_CURRENT_USER, L"Keyboard Layout\\Preload", L"1", - Tmp) && wcslen(Tmp) > 4) + Tmp, + BUFFER_SIZE) && wcslen(Tmp) > 4) if (RegGetSZ(HKEY_CLASSES_ROOT, L"MIME\\Database\\Rfc1766", Tmp + 4, - Buf)) + Buf, + BUFFER_SIZE)) { /* get rid of @filename,resource */ lpBuffer = wcschr(Buf, L';'); if (lpBuffer) SHLoadIndirectString(lpBuffer+1, lpBuffer+1, BUFFER_SIZE - (lpBuffer-Buf) - 1, NULL); - if (GetOemStrings(IDS_INPUT_LOCALE, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_INPUT_LOCALE, 0, L"%s", Buf); } //getting Time Zone @@ -417,14 +451,13 @@ AllSysInfo(VOID) dwCharCount = 256; // Windows seems to have a bug - it doesnt accept BUFFER_SIZE here for(i = 0; RegEnumKeyExW(hKey, i, Tmp, &dwCharCount, NULL, NULL, NULL, NULL) == ERROR_SUCCESS; ++i, dwCharCount = 255) { - RegGetSZ(hKey, Tmp, L"Std", Buf); + RegGetSZ(hKey, Tmp, L"Std", Buf, BUFFER_SIZE); if(!wcscmp(Buf, TimeZoneInfo.StandardName)) { - RegGetSZ(hKey, Tmp, L"Display", Buf); + RegGetSZ(hKey, Tmp, L"Display", Buf, BUFFER_SIZE); - if (GetOemStrings(IDS_TIME_ZONE, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_TIME_ZONE, 0, L"%s", Buf); break; } @@ -435,55 +468,49 @@ AllSysInfo(VOID) //getting Total Physical Memory GlobalMemoryStatus(&MemoryStatus); FormatBytes(Buf, MemoryStatus.dwTotalPhys); - if (GetOemStrings(IDS_TOTAL_PHYS_MEM, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_TOTAL_PHYS_MEM, 0, L"%s", Buf); //getting Available Physical Memory FormatBytes(Buf, MemoryStatus.dwAvailPhys); - if (GetOemStrings(IDS_AVAIL_PHISICAL_MEM,Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_AVAIL_PHISICAL_MEM, 0, L"%s", Buf); //getting Virtual Memory: Max Size FormatBytes(Buf, MemoryStatus.dwTotalVirtual); - if (GetOemStrings(IDS_VIRT_MEM_MAX, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_VIRT_MEM_MAX, 0, L"%s", Buf); //getting Virtual Memory: Available FormatBytes(Buf, MemoryStatus.dwAvailVirtual); - if (GetOemStrings(IDS_VIRT_MEM_AVAIL, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_VIRT_MEM_AVAIL, 0, L"%s", Buf); //getting Virtual Memory: In Use FormatBytes(Buf, MemoryStatus.dwTotalVirtual-MemoryStatus.dwAvailVirtual); - if (GetOemStrings(IDS_VIRT_MEM_INUSE, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_VIRT_MEM_INUSE, 0, L"%s", Buf); //getting Page File Location(s) if (RegGetSZ(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Memory Management", L"PagingFiles", - Buf)) + Buf, + BUFFER_SIZE)) { int i; - for(i = 0; i < strlen((char*)Buf); i++) + for(i = 0; Buf[i]; i++) { - if (Buf[i] == TEXT(' ')) + if (Buf[i] == L' ') { - Buf[i] = TEXT('\0'); + Buf[i] = L'\0'; break; } } - if(GetOemStrings(IDS_PAGEFILE_LOC, Msg)) - wprintf(Msg, Buf); + PrintRow(IDS_PAGEFILE_LOC, 0, L"%s", Buf); } //getting Domain if (NetGetJoinInformation (NULL, &lpBuffer, &NetJoinStatus) == NERR_Success) { - if(GetOemStrings(IDS_DOMAIN, Msg)) - wprintf(Msg, lpBuffer); + PrintRow(IDS_DOMAIN, 0, L"%s", lpBuffer); NetApiBufferFree(lpBuffer); } -- 2.17.1