Getting Hardware Information
The following example uses the
GetSystemInfo function to obtain hardware information such as the OEM identifier, processor
type, page size, and so on. The example displays the information in a window's
client area.
SYSTEM_INFO siSysInfo; // struct. for hardware information
int aTabs[1] = {260}; // tab stop for TabbedTextOut
TCHAR tchBuffer[BUFFER]; // buffer for expanded string
int nSize; // size of string
// Display the "hardware information" header.
nSize = sprintf(tchBuffer,
"Hardware information:");
TextOut(hdc, 15, 20, tchBuffer, nSize);
// Copy the hardware information to the SYSTEM_INFO structure.
GetSystemInfo(&siSysInfo);
// Display the contents of the SYSTEM_INFO structure.
nSize = sprintf(tchBuffer,
"OEM ID: %u\tNumber of Processors: %u",
siSysInfo.dwOemId,
siSysInfo.dwNumberOfProcessors);
TabbedTextOut(hdc, 25, 40, tchBuffer,
nSize, 1, aTabs, 25);
nSize = sprintf(tchBuffer,
"Page size: %u\tProcessor Type: %u",
siSysInfo.dwPageSize,
siSysInfo.dwProcessorType);
TabbedTextOut(hdc, 25, 60, tchBuffer,
nSize, 1, aTabs, 25);
nSize = sprintf(tchBuffer,
"Minimum app address: %lx\tMaximum app address: %lx",
siSysInfo.lpMinimumApplicationAddress,
siSysInfo.lpMaximumApplicationAddress);
TabbedTextOut(hdc, 25, 80, tchBuffer,
nSize, 1, aTabs, 25);
nSize = sprintf(tchBuffer,
"Active processor mask: %u",
siSysInfo.dwActiveProcessorMask);
TextOut(hdc, 25, 100, tchBuffer, nSize);
The following example uses the
GetSystemMetrics function to determine whether a mouse is installed and whether the mouse
buttons are swapped. The example also uses the
SystemParametersInfo function to retrieve the mouse threshold and speed. It displays the
information in a message box.
TCHAR tchBuffer[BUFFER]; // buffer for expanded string
int nSize; // size of string
BOOL fResult; // system shutdown flag
int aMouseInfo[3]; // array for mouse information
// Is there a mouse?
fResult = GetSystemMetrics(SM_MOUSEPRESENT);
if (fResult == 0)
{
// Indicate if there is no mouse.
nSize = sprintf(tchBuffer, "No mouse installed.");
}
else
{
// If there is a mouse, determine whether its buttons are swapped.
fResult = GetSystemMetrics(SM_SWAPBUTTON);
if (fResult == 0)
{
nSize = sprintf(tchBuffer, "Buttons not swapped.\r");
}
else
{
nSize = sprintf(tchBuffer, "Buttons swapped.\r");
}
// Get the mouse speed and the threshold values.
SystemParametersInfo(SPI_GETMOUSE, // get mouse information
NULL, // not used
&aMouseInfo, // holds mouse information
NULL); // not used
nSize += sprintf(tchBuffer + nSize,
"Speed: %d\r", aMouseInfo[2]);
sprintf(tchBuffer + nSize,
"Threshold (x,y): %d,%d",
aMouseInfo[0], aMouseInfo[1]);
}
// Display the mouse information.
MessageBox(NULL, tchBuffer, "Mouse information",
MB_ICONINFORMATION);
This next example uses
SystemParametersInfo to double the mouse speed and update the MouseSpeed value in the WIN.INI
file.
TCHAR tchBuffer[BUFFER]; // buffer for expanded string
int nSize; // size of string
int aMouseInfo[3]; // array for mouse information
// Get the current mouse speed.
SystemParametersInfo(SPI_GETMOUSE, // get mouse information
NULL, // not used
&aMouseInfo, // holds mouse information
NULL); // not used
// Double it.
aMouseInfo[2] = 2 * aMouseInfo[2];
// Change the mouse speed to the new value and update WIN.INI.
SystemParametersInfo(SPI_SETMOUSE, // set mouse information
NULL, // not used
aMouseInfo, // mouse information
SPIF_UPDATEINIFILE); // update win.ini
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database