Getting System Configuration 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);