Як використовувати winapi

Delphi. Синтаксис. API реалізація

Як використовувати WinAPI

WinAPI - це ті функції якими керується робота додатків в Windows. Вони є частиною системи, і завантажуються разом з віндос в бібліотеці kernel32.dll.

У Делфі ці функції головним чином описом в бібліотеці Windows, яка автоматично включається в ваш новий проект. Ви можете відкрити цю бібліотеку і подивитися самі. Велика частина VCL - це надбудова над WinAPI.

Для кожного запущеного додатку створюється процес і в цьому процесі основний потік (додаток може створювати свої дополнітльние потоки - всі вони будуть належати його процесу), а вже потоки створюють вікна. Кожен потік має унікальний числовий індіфікатор званий ThreadID. Це просто ціле число яке дається (асоціюється) цього потоку. Точно так же має свій унікальний індіфікатор кожне вікно в системі, званий Handle. Він позначається зазвичай типом HWND, але це просто ціле. 4-х байтное.

У віндосе взаємодія побудовано на повідомленнях. Повідомлення - це невеликий набір даних (record, умовно кажучи), який містить:

  • Handle - Handle вікна, якому повідомлення призначається.
  • Message - ціле число, яке вказує, що ж це за повідомлення. Для системних повідомлень визначені константи типу WM_KEYPRESSED, WM_MOUSEMOVE і т. Д. Їх значення (числове) абсолютно нікого не цікавить однак його легко впізнати: ShowMessage ( 'WM_MOUSEMOVE:' + IntToStr (WM_MOUSEMOVE));
  • wParam - ціле, значення залежить від повідомлення
  • lParaw - ціле, значення залежить від повідомлення.

Пракіческі кожен додаток здійснює цикл обробки повідомлень. Тобто цикл, який викликає GetMessage і обробляє повідомлення (розсилає вікнам), поки не попадеться повідомлення WM_QUIT, після чого програма має завершити роботу. У Delphi цей цикл представлений в методі Application.Run

Схожі статті