Getting System Information

The following example uses the GetComputerName, GetUserName, GetSystemDirectory, GetWindowsDirectory, and ExpandEnvironmentStrings functions to get information that describes the system configuration. This example displays the information in a window's client area.

LPTSTR lpszSystemInfo;     // pointer to system information string 
DWORD cchBuff = 256;       // size of computer or user name 
TCHAR tchBuffer2[BUFFER];  // buffer for concatenated string 
 
DWORD dwResult;            // function return value 
 
SYSTEM_INFO siSysInfo;     // structure for hardware information 
int aTabs[1] = {260};      // tab stop for TabbedTextOut 
 
TCHAR tchBuffer[BUFFER];   // buffer for expanded string 
int nSize;                 // size of string 
 
lpszSystemInfo = tchBuffer2; 
 
// Get and display the name of the computer. 
 
GetComputerName(lpszSystemInfo, &cchBuff); 
 
nSize = sprintf(tchBuffer, "Computer name:  %s", 
    lpszSystemInfo); 
TextOut(hdc, 15, 20, tchBuffer, nSize); 
 
// Get and display the user name. 
 
GetUserName(lpszSystemInfo, &cchBuff); 
 
nSize = sprintf(tchBuffer, "User name:  %s", 
    lpszSystemInfo); 
TextOut(hdc, 15, 40, tchBuffer, nSize); 
 
// Get and display the system directory. 
 
nSize = GetSystemDirectory(lpszSystemInfo, MAX_PATH); 
 
nSize = sprintf(tchBuffer, "System directory:  %s", 
    lpszSystemInfo); 
TextOut(hdc, 15, 60, tchBuffer, nSize); 
 
// Get and display the Windows directory. 
 
nSize = GetWindowsDirectory(lpszSystemInfo, MAX_PATH); 
 
nSize = sprintf(tchBuffer, "Windows directory:  %s", 
    lpszSystemInfo); 
TextOut(hdc, 15, 80, tchBuffer, nSize); 
 
// Display the "environment variables" header. 
 
nSize = sprintf(tchBuffer, 
    "Environment variables (partial list):"); 
TextOut(hdc, 15, 105, tchBuffer, nSize); 
 
// Expand the OS and NTVERSION environment variables. 
 
dwResult = ExpandEnvironmentStrings( 
               "OS=%OS%     NTVERSION=%NTVERSION%", 
               lpszSystemInfo, 
               BUFFER); 
 
TextOut(hdc, 25, 120, (LPCTSTR) lpszSystemInfo, 
    dwResult - 1); 
 
// Expand the PATH environment variable. 
 
dwResult = ExpandEnvironmentStrings( 
               "PATH=%PATH%", 
               lpszSystemInfo, 
               BUFFER); 
 
TextOut(hdc, 25, 135, (LPCTSTR) lpszSystemInfo, 
    dwResult - 1); 
 
// Expand the LIBPATH environment variable. 
 
dwResult = ExpandEnvironmentStrings( 
               "LIBPATH=%LIBPATH%", 
               lpszSystemInfo, 
               BUFFER); 
 
TextOut(hdc, 25, 150, (LPCTSTR) lpszSystemInfo, 
    dwResult - 1); 
 
// Expand the TMP environment variable. 
 
dwResult = ExpandEnvironmentStrings( 
               "TMP=%TMP%", 
               lpszSystemInfo, 
               BUFFER); 
 
TextOut(hdc, 25, 165, (LPCTSTR) lpszSystemInfo, 
    dwResult - 1);