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

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июля!


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

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



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

Размер экрана

Чтобы узнать высоту и ширину экрана в пикселях, можно воспользоваться глобальным объектом Screen, при этом:
  Screen->Width - ширина;
  Screen->Height - высота.


Как сменить разрешение экрана?
DEVMODE dm;
 
 dm.dmSize = sizeof(DEVMODE);
 
 int index = 0;
 
 while (EnumDisplaySettings(NULL, index, &dm))
 
 {
 
   if (dm.dmPelsWidth == 800 && dm.dmPelsHeight == 600)
 
   {
 
     dm.dmFields = DM_PELSWIDTH | DM_PELSHEIGHT;
 
     LONG result = ChangeDisplaySettings(&dm, CDS_TEST);
 
     if (result == DISP_CHANGE_SUCCESSFUL)
 
     {
 
       ChangeDisplaySettings(&dm, 0);
 
       break;
 
     }
 
     else if (result == DISP_CHANGE_RESTART)
 
     {
 
       ShowMessage("Требуется перезагрузка");
 
       break;
 
     }
 
     else
 
     {
 
       ShowMessage("Установка не поддерживается монитором");
 
       break;
 
     }
 
   }
 
   index++;
 
 }

Как узнать размер рабочей области экрана?
 
 TRect rect;
 
 if( SystemParametersInfo(SPI_GETWORKAREA,0,&rect,0) ) {
 
    // получили размер рабочей области
 
    ShowMessage("WorkArea size is "+AnsiString(rect.Width())+"x"+AnsiString(rect.Height()));
 
 } else {
 
    // не удалось получить размер рабочей области
 
    ShowMessage("GetWorkArea failed");
 
 }
 
 


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

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




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



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


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