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

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


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

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



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

Как нарисовать рванное окно?

...
    WNDCLASS WndClass;
 
    WndClass.lpszClassName =(LPSTR)"BalonHelp";
    WndClass.hInstance     =hInstance;
    WndClass.lpfnWndProc   =BalonWndProc;
    WndClass.style         =CS_SAVEBITS; // восстановление возлагаем на Win
 >  WndClass.hbrBackground =GetStockBrush(NULL_BRUSH);
    WndClass.hCursor       =LoadCursor(NULL,IDC_ARROW);
    WndClass.hIcon         =NULL;
    WndClass.lpszMenuName  =NULL;
    WndClass.cbClsExtra    =0;
    WndClass.cbWndExtra    =0;
 
    RegisterClass(&WndClass);
 ...
 LRESULT CALLBACK BalonWndProc(HWND hWnd,UINT msg,WPARAM wParam,LPARAM lParam)
 {
   switch(msg)
   {
     case WM_PAINT:
 >    // отpисовка всего окна ложится на твои плечи :-)
      ...
     case ...
   }
   return DefWindowProc(hWnd,msg,wParam,lParam);
 }

 

 





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

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




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



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


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