立即给分
解决方案 »
- duilib.com 出什么问题了,很久打不开了~~~
- mfc 对sql 操作 的几个问题
- 改变richedit某行的背景色
- Atl中的Ctring问题
- 从2003升级到2005,Vector出问题,求解决方法。
- 请教关于多媒体编程中如何实现:将两首音乐的数据混音后合成一首音乐?就像cool edit中类似这种功能的!
- 救急,请各位大虾请教,如何用vc编程实现把一个*.mdf数据库文件导入到SQL Server数据库系统?
- C++有那些特别的而且是初学者不易接触的特性(探讨)--帮帮初学者
- 关于windows线程池的疑问
- 如何发送一个命令到应用程序,模拟用户单击菜单或工具栏上的命令???(菜鸟级)
- 一般判断串口通信故障的方法有那些?(比如线断开等,假定5秒收不到回应)
- 一个简单问题
Platform SDK: Windows System Information
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
Built on Thursday, October 12, 2000