Введення
Понад 90 відсотків настільних і портативних комп'ютерів працюють під управлінням Windows. Консультант з Windows Джеффрі Ріхтер вважає, що «Microsoft Windows дуже складна операційна система. Вона включає стільки всього і робить так багато, що одній людині просто не під силу повністю розібратися в цій системі ». Курсова робота присвячена вивченню одного з розділів операційної системи.
Найважливіші частини операційної системи Windows написані на мові асемблера. Тому операційну систему Windows наочніше вивчати, використовуючи саме цю мову. Мова асемблера - це символічне подання машинної мови. Всі процеси в машині на найнижчому, апаратному рівні приводяться в дію тільки командами (інструкціями) машинної мови. Асемблер може знадобитися для оптимізації коду програм, написання драйверів, трансляторів, програмування деяких зовнішніх пристроїв тощо
Що стосується операційної системи Windows, то тут, як не дивно це прозвучить для деяких програмістів, програмувати на асемблері набагато легше, ніж в операційній системі MS DOS, і нітрохи не складніше ніж на Сі, і при цьому виходить компактний, ефективний і швидкий код. При роботі з мовами високого рівня губляться певні алгоритмічні навички. І процес заходить все далі. Тільки заради підвищення свого професійного рівня варто займатися програмуванням на асемблері
Теоретична частина
З 1991 року операційна система Windows, створена компанією Microsoft змінила кілька версій. За цей час вона випускалася і для 16-розрядних процесорів і для 32-розрядних. А сьогодні вже з'явилися версії Windows для роботи з 64-розрядними процесорами. Змінювався не тільки дизайн системи, а й принципи її внутрішньої архітектури. Незмінним донині залишається одне - наявність динамічних бібліотек (DLL), що є основними постачальниками функцій (Application Programming Interface - API) для роботи системи і додатків.
За час існування 32-розрядної Windows функції API не змінилися, змінюється лише їх кількість. Для зручності розробників програми для Windows, всі функції API розбиті на певні категорії і знаходяться у відповідних бібліотеках динамічного компонування (DLL). Ось не повний перелік таких бібліотек, наведений в таблиці 1:
Таблиця 1
БібліотекаОпісаніеkernel32.dllСістемние функції низького рівня. У цій бібліотеці знаходяться функції управління пам'яттю, завданнями, розподілу ресурсів і т.д. user32.dllФункціі, що керують роботою Windows. У цій бібліотеці знаходяться функції для роботи з повідомленнями, меню, покажчиками миші, курсорами, таймерами і більшість інших функцій, не пов'язаних з виведенням на екран.gdi32.dllБібліотека інтерфейсу графічних пристроїв (GDI). Містить функції, пов'язані з виведенням на пристрої. У ній знаходиться більшість функцій малювання, роботи з контекстами пристроїв, метафайлами, координатами і шріфтаміdlg32.dll lz32.dll version32.dllЕті бібліотеки забезпечують додаткові можливості, у тому числі підтримку стандартних діалогових вікон, стиснення файлів і контролю версій.advapi32.dll Бібліотека містить функції для роботи з реєстром Windows і файлами ініціалізації (INI) .wininet.dll У даній бібліотеці містяться функції для використання Internet і FTPapi32.dllСетевие функції Windows.crypt32.dll cryptdll.dll cryptnet.dlВ бібліотеках містяться криптографічні функції та функції для роботи з крипто-провайдерамі.ntdll.dlІногда в інших бібліотеках API функції всього лише оголошені, а реалізовані в даній бібліотеці, але з іншим іменемctl32.dllВ цій бібліотеці реалізований новий (вдосконалений) набір керуючих елементів Windows, в числі яких - ієрархічні списки і поліпшені текстові поля.mapi32.dllСодержіт функції для роботи з електронною почтой.odbc32.dll Це одна з dll, що реалізують архітектуру ODBC (Open Database Connectivity). Функції надають API для роботи з базами данних.winmm.dllОбеспечівает доступ до мультимедіа.
Ці DLL знаходяться в системній папці Windows. Є API функції, які були створені за часів Windows 9x і які не працюють на операційних системах сімейства Windows NT.API розвивається дуже швидко. Кількість функцій зростає так швидко, що встежити за всіма нововведеннями практично неможливо. Але, на щастя, це й не потрібно. Щоб професійно користуватися Windows API, необов'язково ставати знавцем у всіх його областях. Важливо зрозуміти основні концепції використання, що надаються Windows функцій і навчитися читати документацію по API.
Вікно в Windows є об'єктом, що займає прямокутна ділянка екрану. Навіть якщо вікно буде круглим, все одно воно вписується в асоційовану з його контекстом прямокутну область. Вікно може містити інші вікна, звані дочірніми. З кожним вікном связанни функціональні можливості, властиві тільки йом...