На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

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



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Получение Аппаратной Информации



Следующий пример использует функцию GetSystemInfo, чтобы получать аппаратную информацию как например, идентификатор OEM, тип процессора, страничного размера, и так далее. Пример отображает информацию в области клиента окна.

SYSTEM_INFO siSysInfo; // struct. для аппаратной информации int aTabs[1] = {260}; // стоп таб. для TabbedTextOut

TCHAR tchBuffer[BUFFER]; // буфер для расширенной строки int nSize; // размер строки

// Отобразите заголовок "аппаратной информации".

nSize = sprintf(tchBuffer, "Аппаратная информация:");
TextOut(hdc, 15, 20, tchBuffer, nSize);

// Скопируйте аппаратную информацию в структуру SYSTEM_INFO.

GetSystemInfo(&siSysInfo);


// Отобразите содержание структуры SYSTEM_INFO.

nSize = sprintf(tchBuffer, "OEM ID: %u\tNumber Процессоры: %u", siSysInfo.dwOemId, siSysInfo.dwNumberOfProcessors);
TabbedTextOut(hdc, 25, 40, tchBuffer, nSize, 1, aTabs, 25);

nSize = sprintf(tchBuffer, "Страничный размер: %Тип u\tProcessor: %u", siSysInfo.dwPageSize, siSysInfo.dwProcessorType);
TabbedTextOut(hdc, 25, 60, tchBuffer, nSize, 1, aTabs, 25);


nSize = sprintf(tchBuffer,
"Минимальный кв.;инф)прил. адрес: %кв.;инф)прил. адрес lx\tMaximum: %lx", siSysInfo.lpMinimumApplicationAddress, siSysInfo.lpMaximumApplicationAddress);
TabbedTextOut(hdc, 25, 80, tchBuffer, nSize, 1, aTabs, 25);

nSize = sprintf(tchBuffer, "Активная маска процессора: %u", siSysInfo.dwActiveProcessorMask);
TextOut(hdc, 25, 100, tchBuffer, nSize);


Следующий пример использует функцию GetSystemMetrics, чтобы определять установлена мышь и подкачаны кнопки мыши. Пример также использует функцию SystemParametersInfo, чтобы извлекать порог мыши и скорости. Это отображает информацию в блоке сообщения.

TCHAR tchBuffer[BUFFER]; // буфер для расширенной строки int nSize; // размер строки

BOOL fResult; // системный флаг выключения

int aMouseInfo[3]; // массив для информации мыши

// Есть мышь?

fResult = GetSystemMetrics(SM_MOUSEPRESENT);

если (fResult == 0)
{
// Укажитесь если нет мыши.

nSize = sprintf(tchBuffer, "No мышь устанавливалась.");
}
еще
{
// Если есть мышь, определите что независимо кнопки подкачаны.


fResult = GetSystemMetrics(SM_SWAPBUTTON);

если (fResult == 0)
{
nSize = sprintf(tchBuffer, "Кнопки не swapped.\r");
}
еще
{
nSize = sprintf(tchBuffer, "Кнопки swapped.\r");
}

// Получите скорость мыши и величины порога.

SystemParametersInfo(SPI_GETMOUSE, // ПОЛУЧАТЬ мышь информационную НЕДЕЙСТВИТЕЛЬНУЮ, // не использованное &aMouseInfo, // информацию мыши хранить

НЕДЕЙСТВИТЕЛЬНЫЙ); // не использованное

nSize += sprintf(tchBuffer + nSize, "Скорость: %d\r", aMouseInfo[2]);
sprintf(tchBuffer + nSize, "Порог (x,y): %d,%d", aMouseInfo[0], aMouseInfo[1]);
}

// Отобразите информацию мыши.

MessageBox(НЕДЕЙСТВИТЕЛЬНЫЙ, tchBuffer, "информация Мыши", MB_ICONINFORMATION);


Этот следующий пример использует SystemParametersInfo, чтобы удваивать скорость мыши и корректировать величину MouseSpeed в файле WIN.INI.

TCHAR tchBuffer[BUFFER]; // буфер для расширенной строки int nSize; // размер строки

int aMouseInfo[3]; // массив для информации мыши

// Получите текущую скорость мыши.

SystemParametersInfo(SPI_GETMOUSE, // ПОЛУЧАТЬ мышь информационную НЕДЕЙСТВИТЕЛЬНУЮ, // не использованное &aMouseInfo, // мышь хранить информационную НЕДЕЙСТВИТЕЛЬНУЮ); // не использованное

// Двойное количество это.

aMouseInfo[2] = 2 * aMouseInfo[2];


// Изменение скорость мыши в новую величину и коррекция WIN.INI.

SystemParametersInfo(SPI_SETMOUSE, // УСТАНОВИВШЕЕ мышь информационную НЕДЕЙСТВИТЕЛЬНУЮ, // не использовавшее aMouseInfo, // информация мыши SPIF_UPDATEINIFILE); // коррекция win.ini



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz