mirror of
https://github.com/reactos/reactos.git
synced 2025-05-29 14:08:22 +00:00
[SYSTEMINFO]
Convert TABs to spaces Print output to stdout instead of stderr Close opened registry keys Simplify a bit Add System Manufacturer and System Model Add System Up Time (patch by Edijs Kolesnikovics <terminedijs at yahoo dot com>, see issue 6055 for more details) svn path=/trunk/; revision=51212
This commit is contained in:
parent
73b6d5b3d6
commit
ddbfebc22a
10 changed files with 299 additions and 296 deletions
|
@ -32,11 +32,11 @@ Beispiele:\n\
|
|||
SYSTEMINFO /S system /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "OS Name: %s\n"
|
||||
IDS_OS_VERSION, "OS Version: %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Build %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "Produkt ID: %s\n"
|
||||
IDS_INST_DATE, "Installationsdatum: %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
|
|
@ -30,11 +30,11 @@ Examples:\n\
|
|||
SYSTEMINFO /S system /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "OS Name: %s\n"
|
||||
IDS_OS_VERSION, "OS Version: %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Build %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "Product ID: %s\n"
|
||||
IDS_INST_DATE, "Install Date: %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
|
|
@ -35,11 +35,11 @@ Ejemplos:\n\
|
|||
SYSTEMINFO /S sistema /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "Nombre Sistema Operativo: %s\n"
|
||||
IDS_OS_VERSION, "Versión Sistema Operativo: %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Compilación %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "Identificador de Producto %s\n"
|
||||
IDS_INST_DATE, "Fecha de Instalación: %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
|
|
@ -30,11 +30,11 @@ Exemples:\n\
|
|||
SYSTEMINFO /S système /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "Nom du système d'exploitation : %s\n"
|
||||
IDS_OS_VERSION, "Version du système d'exploitation : %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Compilation %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "ID du produit : %s\n"
|
||||
IDS_INST_DATE, "Date d'installation : %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
|
|
@ -30,11 +30,11 @@ Eksempler:\n\
|
|||
SYSTEMINFO /S system /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "OS navn: %s\n"
|
||||
IDS_OS_VERSION, "OS versjon: %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Bygget %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "Produkt ID: %s\n"
|
||||
IDS_INST_DATE, "Installert dato: %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
|
|
@ -37,11 +37,11 @@ Przyk
|
|||
SYSTEMINFO /S system /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "Nazwa Systemu: %s\n"
|
||||
IDS_OS_VERSION, "Wersja: %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Kompilacja %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "ID produktu: %s\n"
|
||||
IDS_INST_DATE, "Data instalacji: %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
@ -49,7 +49,7 @@ IDS_SYS_TYPE_UNKNOWN, "Rodzaj systemu: Unknown\n"
|
|||
IDS_SYS_TYPE_X86, "Architektura: X86-based PC\n"
|
||||
IDS_SYS_TYPE_IA64, "Architektura: IA64-based PC\n"
|
||||
IDS_SYS_TYPE_AMD64, "Rodzaj systemu: AMD64-based PC\n"
|
||||
IDS_PROCESSORS, "Iloœæ Procesorów: %u .\n"
|
||||
IDS_PROCESSORS, "Iloœæ Procesorów: %u.\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"
|
||||
|
|
|
@ -34,11 +34,11 @@ Examples:\n\
|
|||
SYSTEMINFO /S system /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "N zov OS: %s\n"
|
||||
IDS_OS_VERSION, "Verzia OS: %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Build %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "ID produktu: %s\n"
|
||||
IDS_INST_DATE, "D tum inçtal cie: %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
|
|
@ -38,11 +38,11 @@ IDS_USAGE, "SYSTEMINFO [/S
|
|||
SYSTEMINFO /S ñèñòåìà /FO CSV /NH\n"
|
||||
|
||||
IDS_OS_NAME, "²ì'ÿ ÎÑ: %s\n"
|
||||
IDS_OS_VERSION, "Âåðñ³ÿ ÎÑ: %d.%d.%d %s"
|
||||
IDS_OS_BUILD, " Çá³ðêà %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_UP_TIME, "System Up Time: %u Days, %u Hours, %u, Minutes, %u Seconds\n"
|
||||
IDS_PRODUCT_ID, "ID ïðîäóêòà: %s\n"
|
||||
IDS_INST_DATE, "Äàòà óñòàíîâêè: %s, "
|
||||
IDS_INST_TIME, "%s\n"
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
|
||||
#define IDS_OS_NAME 100
|
||||
#define IDS_OS_VERSION 101
|
||||
#define IDS_OS_BUILD 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_INST_TIME 108
|
||||
#define IDS_OS_BUILD_TYPE 102
|
||||
#define IDS_REG_OWNER 103
|
||||
#define IDS_REG_ORG 104
|
||||
#define IDS_PRODUCT_ID 105
|
||||
#define IDS_INST_DATE 106
|
||||
#define IDS_INST_TIME 107
|
||||
#define IDS_UP_TIME 108
|
||||
#define IDS_SYS_TYPE_UNKNOWN 109
|
||||
#define IDS_SYS_TYPE_X86 110
|
||||
#define IDS_SYS_TYPE_IA64 111
|
||||
|
|
|
@ -21,23 +21,26 @@
|
|||
#include <ctype.h>
|
||||
#include <windows.h>
|
||||
#include <io.h>
|
||||
#include <tchar.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
#define BUFFER_SIZE 32767
|
||||
#define B_TO_MB(bytes) ((bytes)/(1024*1024))
|
||||
#define B_TO_KB(bytes) ((bytes)/1024)
|
||||
|
||||
/* Load from resource and convert to OEM */
|
||||
static
|
||||
BOOL
|
||||
GetOemStrings(UINT rcID, LPSTR OutMsg)
|
||||
{
|
||||
TCHAR Msg[BUFFER_SIZE];
|
||||
if (LoadString(GetModuleHandle(NULL), rcID, (LPTSTR)Msg, BUFFER_SIZE))
|
||||
{
|
||||
CharToOem(Msg, OutMsg);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
TCHAR Msg[BUFFER_SIZE];
|
||||
if (LoadString(GetModuleHandle(NULL), rcID, (LPTSTR)Msg, BUFFER_SIZE))
|
||||
{
|
||||
CharToOem(Msg, OutMsg);
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Load data from registry */
|
||||
|
@ -45,25 +48,25 @@ static
|
|||
BOOL
|
||||
GetRegistryValue(HKEY hKeyName, LPCTSTR SubKey, LPCTSTR ValueName, LPCTSTR Buf)
|
||||
{
|
||||
DWORD CharCount = BUFFER_SIZE;
|
||||
HKEY hKey;
|
||||
LONG lRet;
|
||||
DWORD CharCount = BUFFER_SIZE;
|
||||
HKEY hKey;
|
||||
LONG lRet;
|
||||
|
||||
CharCount = BUFFER_SIZE;
|
||||
lRet = RegOpenKeyEx(hKeyName,
|
||||
SubKey,
|
||||
0,
|
||||
KEY_QUERY_VALUE,
|
||||
&hKey);
|
||||
if (lRet != ERROR_SUCCESS) return FALSE;
|
||||
lRet = RegQueryValueEx(hKey,
|
||||
ValueName,
|
||||
NULL,
|
||||
NULL,
|
||||
(LPBYTE)Buf,
|
||||
&CharCount);
|
||||
if (lRet != ERROR_SUCCESS) return FALSE;
|
||||
return TRUE;
|
||||
lRet = RegOpenKeyEx(hKeyName,
|
||||
SubKey,
|
||||
0,
|
||||
KEY_QUERY_VALUE,
|
||||
&hKey);
|
||||
if (lRet != ERROR_SUCCESS) return FALSE;
|
||||
lRet = RegQueryValueEx(hKey,
|
||||
ValueName,
|
||||
NULL,
|
||||
NULL,
|
||||
(LPBYTE)Buf,
|
||||
&CharCount);
|
||||
if (lRet != ERROR_SUCCESS) return FALSE;
|
||||
RegCloseKey(hKey);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* Show usage */
|
||||
|
@ -71,298 +74,298 @@ static
|
|||
VOID
|
||||
Usage(VOID)
|
||||
{
|
||||
TCHAR Buf[BUFFER_SIZE];
|
||||
if(GetOemStrings(IDS_USAGE,Buf)) printf("%s",Buf);
|
||||
TCHAR Buf[BUFFER_SIZE];
|
||||
if(GetOemStrings(IDS_USAGE, Buf)) printf("%s",Buf);
|
||||
}
|
||||
|
||||
/* Print all system information */
|
||||
VOID
|
||||
AllSysInfo(VOID)
|
||||
{
|
||||
DWORD CharCount = BUFFER_SIZE;
|
||||
OSVERSIONINFO VersionInfo;
|
||||
BOOL bOsVersionInfoEx;
|
||||
SYSTEM_INFO SysInfo;
|
||||
TCHAR Buf[BUFFER_SIZE],Tmp[BUFFER_SIZE], Msg[BUFFER_SIZE];
|
||||
MEMORYSTATUS memory;
|
||||
unsigned int DIV = 1024;
|
||||
TIME_ZONE_INFORMATION TimeZoneInfo;
|
||||
DWORD dwCharCount = BUFFER_SIZE;
|
||||
OSVERSIONINFO VersionInfo;
|
||||
SYSTEM_INFO SysInfo;
|
||||
TCHAR Buf[BUFFER_SIZE], Tmp[BUFFER_SIZE], Msg[BUFFER_SIZE], szSystemDir[MAX_PATH];
|
||||
MEMORYSTATUS MemoryStatus;
|
||||
unsigned int cSeconds;
|
||||
TIME_ZONE_INFORMATION TimeZoneInfo;
|
||||
|
||||
GetSystemInfo(&SysInfo);
|
||||
if (!GetSystemDirectory(szSystemDir, sizeof(szSystemDir)/sizeof(szSystemDir[0])))
|
||||
printf("Error getting: GetSystemDirectory\n");
|
||||
GetSystemInfo(&SysInfo);
|
||||
|
||||
// getting computer name
|
||||
CharCount = BUFFER_SIZE;
|
||||
if(!GetComputerName(Buf,&CharCount)) printf("Error getting: GetComputerName");
|
||||
if(GetOemStrings(IDS_HOST_NAME,Msg)) fprintf(stderr,Msg,Buf);
|
||||
// getting computer name
|
||||
dwCharCount = BUFFER_SIZE;
|
||||
if (!GetComputerName(Buf, &dwCharCount))
|
||||
printf("Error getting: GetComputerName");
|
||||
if (GetOemStrings(IDS_HOST_NAME, Msg))
|
||||
printf(Msg, Buf);
|
||||
|
||||
//getting OS Name
|
||||
GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("ProductName"),
|
||||
Buf);
|
||||
if(GetOemStrings(IDS_OS_NAME,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting OS Name
|
||||
GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("ProductName"),
|
||||
Buf);
|
||||
if (GetOemStrings(IDS_OS_NAME, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting OS Version
|
||||
ZeroMemory(&VersionInfo, sizeof(OSVERSIONINFO));
|
||||
VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
||||
if(!(bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO*)&VersionInfo)))
|
||||
{
|
||||
VersionInfo.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
|
||||
if (!GetVersionEx((OSVERSIONINFO*)&VersionInfo))
|
||||
return;
|
||||
}
|
||||
if (VersionInfo.dwPlatformId == VER_PLATFORM_WIN32_NT)
|
||||
{
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("CSDVersion"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_OS_VERSION,Msg))
|
||||
fprintf(stderr, Msg,
|
||||
(int)VersionInfo.dwMajorVersion,
|
||||
(int)VersionInfo.dwMinorVersion,
|
||||
(int)VersionInfo.dwBuildNumber,
|
||||
Buf);
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("CurrentBuildNumber"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_OS_BUILD,Msg)) fprintf(stderr,Msg,Buf);
|
||||
}
|
||||
//getting OS Version
|
||||
ZeroMemory(&VersionInfo, sizeof(VersionInfo));
|
||||
VersionInfo.dwOSVersionInfoSize = sizeof(VersionInfo);
|
||||
GetVersionEx(&VersionInfo);
|
||||
|
||||
if (GetOemStrings(IDS_OS_VERSION, Msg))
|
||||
printf(Msg,
|
||||
(unsigned)VersionInfo.dwMajorVersion,
|
||||
(unsigned)VersionInfo.dwMinorVersion,
|
||||
(unsigned)VersionInfo.dwBuildNumber,
|
||||
VersionInfo.szCSDVersion,
|
||||
(unsigned)VersionInfo.dwBuildNumber);
|
||||
|
||||
//getting OS Manufacturer
|
||||
//getting OS Manufacturer
|
||||
|
||||
//getting OS Configuration
|
||||
//getting OS Configuration
|
||||
|
||||
//getting OS Build Type
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("CurrentType"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_OS_BUILD_TYPE,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting OS Build Type
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("CurrentType"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_OS_BUILD_TYPE, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Registered Owner
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("RegisteredOwner"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_REG_OWNER,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Registered Owner
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("RegisteredOwner"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_REG_OWNER, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Registered Organization
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("RegisteredOrganization"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_REG_ORG,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Registered Organization
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("RegisteredOrganization"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_REG_ORG, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Product ID
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("ProductId"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_PRODUCT_ID,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Product ID // use SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"),
|
||||
TEXT("ProductId"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_PRODUCT_ID, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Install Date
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\WBEM\\CIMOM"),
|
||||
TEXT("SetupDate"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_INST_DATE,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Install Date
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\WBEM\\CIMOM"),
|
||||
TEXT("SetupDate"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_INST_DATE, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Install Time
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\WBEM\\CIMOM"),
|
||||
TEXT("SetupTime"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_INST_TIME,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Install Time
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\WBEM\\CIMOM"),
|
||||
TEXT("SetupTime"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_INST_TIME, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting System Up Time
|
||||
//getting System Up Time
|
||||
cSeconds = GetTickCount() / 1000;
|
||||
if (GetOemStrings(IDS_UP_TIME, Msg))
|
||||
printf(Msg, cSeconds / (60*60*24), (cSeconds / (60*60)) % 24, (cSeconds / 60) % 60, cSeconds % 60);
|
||||
|
||||
//getting System Manufacturer
|
||||
//getting System Manufacturer
|
||||
sprintf(Tmp, "%s\\oeminfo.ini", szSystemDir);
|
||||
GetPrivateProfileString(TEXT("General"),
|
||||
TEXT("Manufacturer"),
|
||||
TEXT("To Be Filled By O.E.M."),
|
||||
Buf,
|
||||
sizeof(Buf)/sizeof(Buf[0]),
|
||||
Tmp);
|
||||
printf("System Manufacturer:\t\t%s\n", Buf);
|
||||
|
||||
//getting System Model
|
||||
//getting System Model
|
||||
GetPrivateProfileString(TEXT("General"),
|
||||
TEXT("Model"),
|
||||
TEXT("To Be Filled By O.E.M."),
|
||||
Buf,
|
||||
sizeof(Buf)/sizeof(Buf[0]),
|
||||
Tmp);
|
||||
printf("System Model:\t\t\t%s\n", Buf);
|
||||
|
||||
//getting System type
|
||||
switch (SysInfo.wProcessorArchitecture)
|
||||
{
|
||||
case PROCESSOR_ARCHITECTURE_UNKNOWN:
|
||||
if(GetOemStrings(IDS_SYS_TYPE_UNKNOWN,Msg)) printf("%s",Msg);
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||
if(GetOemStrings(IDS_SYS_TYPE_X86,Msg)) printf("%s",Msg);
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_IA64:
|
||||
if(GetOemStrings(IDS_SYS_TYPE_IA64,Msg)) printf("%s",Msg);
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_AMD64:
|
||||
if(GetOemStrings(IDS_SYS_TYPE_AMD64,Msg)) printf("%s",Msg);
|
||||
break;
|
||||
}
|
||||
//getting System type
|
||||
switch (SysInfo.wProcessorArchitecture)
|
||||
{
|
||||
case PROCESSOR_ARCHITECTURE_UNKNOWN:
|
||||
if (GetOemStrings(IDS_SYS_TYPE_UNKNOWN, Msg)) printf("%s", Msg);
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_INTEL:
|
||||
if (GetOemStrings(IDS_SYS_TYPE_X86, Msg)) printf("%s", Msg);
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_IA64:
|
||||
if (GetOemStrings(IDS_SYS_TYPE_IA64, Msg)) printf("%s", Msg);
|
||||
break;
|
||||
case PROCESSOR_ARCHITECTURE_AMD64:
|
||||
if (GetOemStrings(IDS_SYS_TYPE_AMD64, Msg)) printf("%s", Msg);
|
||||
break;
|
||||
}
|
||||
|
||||
//getting Processor(s)
|
||||
if(GetOemStrings(IDS_PROCESSORS,Msg))
|
||||
{
|
||||
unsigned int i;
|
||||
fprintf(stderr,Msg,(unsigned int)SysInfo.dwNumberOfProcessors);
|
||||
for(i = 0; i < (unsigned int)SysInfo.dwNumberOfProcessors; i++)
|
||||
{
|
||||
sprintf(Tmp,"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u",i);
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
(LPCTSTR)Tmp,
|
||||
TEXT("Identifier"),
|
||||
Buf))
|
||||
printf(" [0%u]: %s",i+1,Buf);
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
(LPCTSTR)Tmp,
|
||||
TEXT("VendorIdentifier"),
|
||||
Buf))
|
||||
printf(" %s\n",Buf);
|
||||
}
|
||||
}
|
||||
//getting Processor(s)
|
||||
if (GetOemStrings(IDS_PROCESSORS, Msg))
|
||||
{
|
||||
unsigned int i;
|
||||
printf(Msg, (unsigned int)SysInfo.dwNumberOfProcessors);
|
||||
for(i = 0; i < (unsigned int)SysInfo.dwNumberOfProcessors; i++)
|
||||
{
|
||||
sprintf(Tmp,"HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u",i);
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
(LPCTSTR)Tmp,
|
||||
TEXT("Identifier"),
|
||||
Buf))
|
||||
printf(" [0%u]: %s", i+1, Buf);
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
(LPCTSTR)Tmp,
|
||||
TEXT("VendorIdentifier"),
|
||||
Buf))
|
||||
printf(" %s\n", Buf);
|
||||
}
|
||||
}
|
||||
|
||||
//getting BIOS Version
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("HARDWARE\\DESCRIPTION\\System"),
|
||||
TEXT("SystemBiosVersion"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_BIOS_VERSION,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting BIOS Version
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("HARDWARE\\DESCRIPTION\\System"),
|
||||
TEXT("SystemBiosVersion"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_BIOS_VERSION, Msg)) printf(Msg, Buf);
|
||||
|
||||
//gettings BIOS date
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("HARDWARE\\DESCRIPTION\\System"),
|
||||
TEXT("SystemBiosDate"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_BIOS_DATE,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//gettings BIOS date
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("HARDWARE\\DESCRIPTION\\System"),
|
||||
TEXT("SystemBiosDate"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_BIOS_DATE, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting ReactOS Directory
|
||||
if(!GetWindowsDirectory(Buf,BUFFER_SIZE)) printf("Error getting: GetWindowsDirectory");
|
||||
if(GetOemStrings(IDS_ROS_DIR,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting ReactOS Directory
|
||||
if (!GetWindowsDirectory(Buf, BUFFER_SIZE)) printf("Error getting: GetWindowsDirectory");
|
||||
if (GetOemStrings(IDS_ROS_DIR, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting System Directory
|
||||
if(!GetSystemDirectory(Buf,BUFFER_SIZE)) printf("Error getting: GetSystemDirectory");
|
||||
if(GetOemStrings(IDS_SYS_DIR,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting System Directory
|
||||
if (GetOemStrings(IDS_SYS_DIR, Msg)) printf(Msg, szSystemDir);
|
||||
|
||||
//getting Boot Device
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SYSTEM\\Setup"),
|
||||
TEXT("SystemPartition"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_BOOT_DEV,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Boot Device
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SYSTEM\\Setup"),
|
||||
TEXT("SystemPartition"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_BOOT_DEV, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting System Locale
|
||||
if (GetRegistryValue(HKEY_CURRENT_USER,
|
||||
TEXT("Control Panel\\International"),
|
||||
TEXT("Locale"),
|
||||
Tmp))
|
||||
if (GetRegistryValue(HKEY_CLASSES_ROOT,
|
||||
TEXT("MIME\\Database\\Rfc1766"),
|
||||
(LPTSTR)Tmp,
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_SYS_LOCALE,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting System Locale
|
||||
if (GetRegistryValue(HKEY_CURRENT_USER,
|
||||
TEXT("Control Panel\\International"),
|
||||
TEXT("Locale"),
|
||||
Tmp))
|
||||
if (GetRegistryValue(HKEY_CLASSES_ROOT,
|
||||
TEXT("MIME\\Database\\Rfc1766"),
|
||||
(LPTSTR)Tmp,
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_SYS_LOCALE, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Input Locale
|
||||
if (GetRegistryValue(HKEY_CURRENT_USER,
|
||||
TEXT("Keyboard Layout\\Preload"),
|
||||
TEXT("1"),
|
||||
Buf))
|
||||
{
|
||||
int i,j;
|
||||
for(j = 0, i = 4; i <= 8; j++, i++) Tmp[j] = Buf[i];
|
||||
if (GetRegistryValue(HKEY_CLASSES_ROOT,
|
||||
TEXT("MIME\\Database\\Rfc1766"),
|
||||
(LPTSTR)Tmp,
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_INPUT_LOCALE,Msg)) fprintf(stderr,Msg,Buf);
|
||||
}
|
||||
//getting Input Locale
|
||||
if (GetRegistryValue(HKEY_CURRENT_USER,
|
||||
TEXT("Keyboard Layout\\Preload"),
|
||||
TEXT("1"),
|
||||
Buf))
|
||||
{
|
||||
int i,j;
|
||||
for(j = 0, i = 4; i <= 8; j++, i++) Tmp[j] = Buf[i];
|
||||
if (GetRegistryValue(HKEY_CLASSES_ROOT,
|
||||
TEXT("MIME\\Database\\Rfc1766"),
|
||||
(LPTSTR)Tmp,
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_INPUT_LOCALE, Msg)) printf(Msg, Buf);
|
||||
}
|
||||
|
||||
//getting Time Zone
|
||||
GetTimeZoneInformation(&TimeZoneInfo);
|
||||
sprintf(Tmp,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones\\%S",TimeZoneInfo.StandardName);
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
(LPCTSTR)Tmp,
|
||||
TEXT("Display"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_TIME_ZONE,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Time Zone
|
||||
GetTimeZoneInformation(&TimeZoneInfo);
|
||||
sprintf(Tmp,"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones\\%S",TimeZoneInfo.StandardName);
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
(LPCTSTR)Tmp,
|
||||
TEXT("Display"),
|
||||
Buf))
|
||||
if (GetOemStrings(IDS_TIME_ZONE, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Total Physical Memory
|
||||
GlobalMemoryStatus(&memory);
|
||||
if(GetOemStrings(IDS_TOTAL_PHYS_MEM,Msg))
|
||||
fprintf(stderr,
|
||||
Msg,
|
||||
memory.dwTotalPhys/(DIV*DIV),
|
||||
memory.dwTotalPhys/DIV);
|
||||
//getting Total Physical Memory
|
||||
GlobalMemoryStatus(&MemoryStatus);
|
||||
if(GetOemStrings(IDS_TOTAL_PHYS_MEM, Msg))
|
||||
printf(Msg,
|
||||
B_TO_MB(MemoryStatus.dwTotalPhys),
|
||||
B_TO_KB(MemoryStatus.dwTotalPhys));
|
||||
|
||||
//getting Available Physical Memory
|
||||
if(GetOemStrings(IDS_AVAIL_PHISICAL_MEM,Msg))
|
||||
fprintf(stderr,
|
||||
Msg,
|
||||
memory.dwAvailPhys/(DIV*DIV),
|
||||
memory.dwAvailPhys/DIV);
|
||||
//getting Available Physical Memory
|
||||
if(GetOemStrings(IDS_AVAIL_PHISICAL_MEM,Msg))
|
||||
printf(Msg,
|
||||
B_TO_MB(MemoryStatus.dwAvailPhys),
|
||||
B_TO_KB(MemoryStatus.dwAvailPhys));
|
||||
|
||||
//getting Virtual Memory: Max Size
|
||||
if(GetOemStrings(IDS_VIRT_MEM_MAX,Msg))
|
||||
fprintf(stderr,
|
||||
Msg,
|
||||
memory.dwTotalVirtual/(DIV*DIV),
|
||||
memory.dwTotalVirtual/DIV);
|
||||
//getting Virtual Memory: Max Size
|
||||
if(GetOemStrings(IDS_VIRT_MEM_MAX, Msg))
|
||||
printf(Msg,
|
||||
B_TO_MB(MemoryStatus.dwTotalVirtual),
|
||||
B_TO_KB(MemoryStatus.dwTotalVirtual));
|
||||
|
||||
//getting Virtual Memory: Available
|
||||
if(GetOemStrings(IDS_VIRT_MEM_AVAIL,Msg))
|
||||
fprintf(stderr,
|
||||
Msg,
|
||||
memory.dwAvailVirtual/(DIV*DIV),
|
||||
memory.dwAvailVirtual/DIV);
|
||||
//getting Virtual Memory: Available
|
||||
if(GetOemStrings(IDS_VIRT_MEM_AVAIL, Msg))
|
||||
printf(Msg,
|
||||
B_TO_MB(MemoryStatus.dwAvailVirtual),
|
||||
B_TO_KB(MemoryStatus.dwAvailVirtual));
|
||||
|
||||
//getting Virtual Memory: In Use
|
||||
if(GetOemStrings(IDS_VIRT_MEM_INUSE,Msg))
|
||||
fprintf(stderr,
|
||||
Msg,
|
||||
(memory.dwTotalVirtual-memory.dwAvailVirtual)/(DIV*DIV),
|
||||
(memory.dwTotalVirtual-memory.dwAvailVirtual)/DIV);
|
||||
//getting Virtual Memory: In Use
|
||||
if(GetOemStrings(IDS_VIRT_MEM_INUSE, Msg))
|
||||
printf(Msg,
|
||||
B_TO_MB(MemoryStatus.dwTotalVirtual-MemoryStatus.dwAvailVirtual),
|
||||
B_TO_KB(MemoryStatus.dwTotalVirtual-MemoryStatus.dwAvailVirtual));
|
||||
|
||||
//getting Page File Location(s)
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SYSTEM\\ControlSet001\\Control\\Session Manager\\Memory Management"),
|
||||
TEXT("PagingFiles"),
|
||||
Buf))
|
||||
{
|
||||
int i;
|
||||
for(i = 0; i < strlen((char*)Buf); i++)
|
||||
{
|
||||
if (Buf[i] == ' ')
|
||||
{
|
||||
Buf[i] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(GetOemStrings(IDS_PAGEFILE_LOC,Msg)) fprintf(stderr,Msg,Buf);
|
||||
}
|
||||
//getting Page File Location(s)
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SYSTEM\\ControlSet001\\Control\\Session Manager\\Memory Management"),
|
||||
TEXT("PagingFiles"),
|
||||
Buf))
|
||||
{
|
||||
int i;
|
||||
for(i = 0; i < strlen((char*)Buf); i++)
|
||||
{
|
||||
if (Buf[i] == ' ')
|
||||
{
|
||||
Buf[i] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
if(GetOemStrings(IDS_PAGEFILE_LOC, Msg)) printf(Msg, Buf);
|
||||
}
|
||||
|
||||
//getting Domain
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"),
|
||||
TEXT("CachePrimaryDomain"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_DOMINE,Msg)) fprintf(stderr,Msg,Buf);
|
||||
//getting Domain
|
||||
if (GetRegistryValue(HKEY_LOCAL_MACHINE,
|
||||
TEXT("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon"),
|
||||
TEXT("CachePrimaryDomain"),
|
||||
Buf))
|
||||
if(GetOemStrings(IDS_DOMINE, Msg)) printf(Msg, Buf);
|
||||
|
||||
//getting Logon Server
|
||||
//getting Logon Server
|
||||
|
||||
//getting NetWork Card(s)
|
||||
if(GetOemStrings(IDS_NETWORK_CARDS,Msg))
|
||||
{
|
||||
//getting NetWork Card(s)
|
||||
if(GetOemStrings(IDS_NETWORK_CARDS, Msg))
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Main program */
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
if (argc > 1 && !strcmp(argv[1], "/?"))
|
||||
{
|
||||
Usage();
|
||||
return 0;
|
||||
}
|
||||
AllSysInfo();
|
||||
return 0;
|
||||
if (argc > 1 && (!strcmp(argv[1], "/?") || !strcmp(argv[1], "-?")))
|
||||
{
|
||||
Usage();
|
||||
return 0;
|
||||
}
|
||||
AllSysInfo();
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue