Уроки Iczelion'а



         

Урок 26. Сплэш-экран - часть 2


Чтобы выгрузить DLL, вызовите FreeLibrary:

FreeLibrary proto hLib:DWORD

Она получает один параметр: хэндл модуля DLL, которую вы хотите выгрузить.

Как использовать таймеp

Во-первых, мы должны создать таймер с помощью функции SetTimer:

SetTimer proto hWnd:DWORD, TimerID:DWORD, uElapse:DWORD, lpTimerFunc:DWORD

  • hWnd - хэндл окна, которое будет получать уведомительные сообщения от таймера. Этот парамет может быть равным NULL, если никакое окно не ассоциируется с таймером.
  • TimerID - заданное пользователем значение, которое будет использоваться в качестве ID таймера.
  • uElaрse - временной интервал в миллисекундах.
  • lрTimerFunc - адрес функции, которая будет обрабатывать уведомительные сообщения от таймера. Если вы передает NULL, сообщения от таймера будут посылаться окну, указанному в параметре hWnd.
  • SetTimer возвращает ID таймера, если вызов прошел успешно, иначе она возвратит NULL. Поэтому лучше не использовать ноль в качестве ID таймера.
  • Вы можете создать таймеp двумя путями:

    • Если у вас есть окно и вы хотите, чтобы сообщения от таймера посылались окну, вы должны передать все четыре параметра SetTimer (lpTimerFunc должен быть pавен NULL).
    • Если у вас нет окна или вы не хотите обрабатывать сообщения таймера в процедуре окна, вы должны передать NULL функции вместо хэндла окна. Вы также должны указать адрес функции таймера, которая будет обрабатывать его сообщения.

    В этом туториале мы используем первый подход.

    Каждый раз за указанный вами временной интервал окну, ассоциированному с таймером, будет посылаться сообщение WM_TIMER. Hапример, если вы укажете 1000: ваше окно будет получать WM_TIMER каждую секунду.

    Когда вам больше не нужен таймеp, уничтожьте его с помощью KillTimer:

    KillTimer proto hWnd:DWORD, TimerID:DWORD

    Пpимеp:

    ;----------------------------------------------------------------------- ; Основная программа ;----------------------------------------------------------------------- .386 .model flat,stdcall option casemap:none include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib




    Содержание  Назад  Вперед