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

ВИДЕОКУРС ВЗЛОМ
выпущен 10 декабря!


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

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



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

Изменение цвета элементов окна.

В следующем примере используется функция SetSysColors для изменения цвета рамки активного окна на тёмно-фиолетовый, заголовка на тёмно-голубой, а фона окна на светло-серый.

// Элементы окна, которые будут изменены.
 int aiElements[3] = {COLOR_ACTIVEBORDER,
                      COLOR_ACTIVECAPTION,
                      COLOR_WINDOW};
 
 // Массив RGB значений.
 DWORD aColors[3];
 
 // Определяем новые цвета.
 
 aColors[0] = RGB(0x80, 0x00, 0x80);  // тёмно-фиолетовый
 aColors[1] = RGB(0x00, 0x80, 0x80);  // тёмно-голубой
 aColors[2] = RGB(0xC0, 0xC0, 0xC0);  // светло-серый
 
 // Присваиваем значениям aiElements цвета из
 // массива aColors.
 
 SetSysColors(3, aiElements, aColors);

В следующем примере используется функция GetSysColor, чтобы получить цвет фона окна и отобразить красную, зелёную и синюю (RGB) составляющие этого цвета в шестнадцатиричном представлении в диалоговом окошке.

DWORD dwResult;           // возвращаемое значение функции
 
 TCHAR tchBuffer[BUFFER];  // буффер для строки
 int nSize;                // размер строки
 
 // Получаем цвет фона окна.
 
 dwResult = GetSysColor(COLOR_WINDOW);
 
 nSize = sprintf(tchBuffer,
     "Window color: {%x, %x, %x}",
     GetRValue(dwResult),
     GetGValue(dwResult),
     GetBValue(dwResult));
 
 MessageBox(NULL, tchBuffer, "GetSysColor", MB_ICONINFORMATION);

 

 





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

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




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



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


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