Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 сентября!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Слушай, дружище, зачем так мучиться с этим языком С++, ты ведь не Билл Гейтс. Возьми тот же Python и программируй, он кроссплатформенный, под Windows тоже работает. Я сам давно заметил: то что на Си пишешь в страницу кода, на питоне решается в одну-две строки. При том, питон намного проще, я его сам недавно изучил по видеокурсу вот этому. Кстати, автор отлично там объясняет. Буквально день-два и уже будешь писать на нём, чего не скажешь про сложный С++.

Получение информации о железе.

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

 

#include <windows.h>
 #include <stdio.h>
 
 void main()
 {
    SYSTEM_INFO siSysInfo;
 
    // Копируем информацию о железе в структуру SYSTEM_INFO.
 
    GetSystemInfo(&siSysInfo);
 
    // Отображаем содержимое структуры SYSTEM_INFO.
 
    printf("Hardware information: \n");
    printf("  OEM ID: %u\n", siSysInfo.dwOemId);
    printf("  Number of processors: %u\n",
       siSysInfo.dwNumberOfProcessors);
    printf("  Page size: %u\n", siSysInfo.dwPageSize);
    printf("  Processor type: %u\n", siSysInfo.dwProcessorType);
    printf("  Minimum application address: %lx\n",
       siSysInfo.lpMinimumApplicationAddress);
    printf("  Maximum application address: %lx\n",
       siSysInfo.lpMaximumApplicationAddress);
    printf("  Active processor mask: %u\n",
       siSysInfo.dwActiveProcessorMask);
 }

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

#include <windows.h>
 #include <stdio.h>
 
 void main()
 {
    BOOL fResult;
    int aMouseInfo[3];
 
    fResult = GetSystemMetrics(SM_MOUSEPRESENT);
 
    if (fResult == 0)
       printf("No mouse installed.\n");
    else
    {
       printf("Mouse installed.\n");
 
       // Определяем, не поменялись ли кнопки мышки.
 
       fResult = GetSystemMetrics(SM_SWAPBUTTON);
 
       if (fResult == 0)
          printf("Buttons not swapped.\n");
       else printf("Buttons swapped.\n");
 
       // Получаем чувствительность мышки и её границы.
 
       fResult = SystemParametersInfo(
          SPI_GETMOUSE,  // получить информацию о мышке
          NULL,          // не используется
          &aMouseInfo,   // сюда поместить информацию
          NULL);         // не используется
 
       if( fResult )
       {
          printf("Speed: %d\n", aMouseInfo[2]);
          printf("Threshold (x,y): %d,%d\n",
             aMouseInfo[0], aMouseInfo[1]);
       }
    }
 }

В следующем примере используется функция SystemParametersInfo для того, чтобы увеличить скорость мышки вдвое.

#include <windows.h>
 #include <stdio.h>
 
 void main()
 {
    BOOL fResult;
    int aMouseInfo[3];       // массив для хранения информации
 
    // Получаем текущую чувствительность мышки.
 
    fResult = SystemParametersInfo(
       SPI_GETMOUSE,   // получаем информацию о мышке
       NULL,           // не используется
       &aMouseInfo,    // сюда поместить информацию
       NULL);          // не используется
 
    // Умножаем на 2.
 
    if( fResult )
    {
       aMouseInfo[2] = 2 * aMouseInfo[2];
 
       // Меняем чувствительность мышки.
 
       SystemParametersInfo(
          SPI_SETMOUSE,      // изменяем информацию мышки
          NULL,              // не используется
          aMouseInfo,        // массив с информацией
          SPIF_SENDCHANGE);  // обновить win.ini
    }
 }


<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS