Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой_дегтяр.docx
Скачиваний:
7
Добавлен:
08.03.2016
Размер:
360.51 Кб
Скачать

РЕФЕРАТ

Курсова робота: 30 с., 4 рис., 6 джерел, 1 додатки.

7 Варіант

Завдання Написати програму, яка дозволяє запускати процеси, використовуючи для цього вибрані на диску файли. Користувач може задавати ім'я запускається файлу і командний рядок. Програма стежить за всіма запущеними нею процесами і виводить на вимогу користувача наступну інформацію: ім'я процесу, значення покажчика та ідентифікатора процесу, час виконання процесу.

Мета роботи – отримати навички коректного використання операторів та конструкцій та побудова ефективних алгоритмів для розв’язку задачі.

Одержані висновки: розроблені алгоритми та складені програми для обробки графічних зображень.

ЗМІСТ

ВСТУП 3

  1. ТЕОРЕТИЧНА ЧАСТИНА 5

    1. Основи розробки додатків Windows 5

    2. Головна функція WinMain 7

    3. Параметри функції WinMain 8

    4. Склад функції WinMain() 9

  1. ПРАКТИЧНА ЧАСТИНА 16

    1. Постановка задачі 16

    2. Використовуючи файли на диску запускати процеси 16

    3. Відслідковувати кожен з процесів(його статус, назву, час життя). 18

    4. Відслідковувати діяльність користувача 20

2.5 Інші функції, використані в програмі 21

2.6 Опис алгоритму роботи програми 22

ВИСНОВОК 23

ДЖЕРЕЛА 24

ДОДАТОК А 25

ВСТУП

Windows API спроектований для використання в мові Сі для написання прикладних програм, призначених для роботи під управлінням операційної системи MS Windows.

Windows API являє собою безліч функцій, структур даних і числових констант, наступних угодами мови С. Всі мови програмування, здатні викликати такі функції і оперувати такими типами даних в програмах, що виконуються в середовищі Windows, можуть користуватися API.

Для полегшення програмування під Windows, в компанії Microsoft і сторонніми розробниками було зроблено безліч спроб створити бібліотеки і середовища програмування, частково або повністю приховують від програміста особливості Windows API, і надають ту чи іншу частину його можливостей у більш зручному вигляді. Є крос-платформні бібліотеки, такі як Qt, Tk. Вагома частина цих бібліотек сконцентрована на полегшенні програмування графічного інтерфейсу користувача.

Функціонально Win32 API підрозділяється на наступні категорії:

  • Network Services (мережеві сервіси);

  • Base Services (базові сервіси);

  • Graphics Device Interface (інтерфейс графічних пристроїв);

  • Common Control Library (бібліотека спільних елементів управління);

  • User Interface (інтерфейс користувача);

  • Windows NT Access Control (управління доступом для Windows NT);

  • Windows Shell (оболонка Windows);

  • Windows System Information (інформація про систему).

Щоб зробити інтерфейс Win32 АРI більш незалежним від конкретної мови програмування або більш відповідним апаратному забезпеченню комп'ютера, розробники цього інтерфейсу визначили нові прості типи даних. Ці типи даних використовуються в прототипах функцій інтерфейсу Win32 АРI. Нові прості типи даних визначені як синоніми простих типів даних мови програмування С. Щоб відрізняти ці типи від інших типів, їх імена визначені прописними буквами.

1. Теоретична частина

1.1 Основи розробки додатків Windows

Програма починається з двох директив препроцесора #include, за допомогою яких до програми підключаються заголовні файли. Заголовки WINDOWS.H забезпечує розуміння компілятором сенсу типів даних Windows, констант і макросів і підключення цього файлу до вихідного тексту програми є обов'язковим. Частина визначень, що використовуються в програмах міститься у файлі WINDOWS.H, який також необхідно включати практично в усі додатки Windows.

Слідом за операторами препроцесора йде розділ прототипів, де визначається прототип єдиною в даній програмі прикладної функції WndProc. Но загально в програмі обов'язково повинні бути вказані прототипи всіх використовуваних функцій, як прикладних, так і системних. Викликів системних функцій Windows багато: RégisterCIass(), CreateWindowQ, GetMessage () та ін. Однак прототипи всіх цих функцій вже визначені в заголовних файлах системи програмування. Так, прототип функції WinMain описаний у файлі WINBASE.H:

Заголовок функції WinMain () в програмі в точності відповідає прототипу. Прототипи інших використаних в програмі функцій Windows визначені у файлі WINUSER.H. Таким чином, про прототипи функцій Windows можна не піклуватися.

Інше становище з віконною функцією WndProc (). Це прикладна функція, її ім'я може бути яким завгодно, і системі програмування це ім'я невідоме.

При наявності в додатку декількох вікон в програмі описується кілька віконних функцій, по одній для кожного класу вікон. Для всіх використовуваних в програмі віконних функцій необхідно вказувати їх прототипи.

З іншого боку, формат віконної функції, тобто кількість і типи вхідних параметрів функції, як і тип повертається нею значення, визначені системою Windows і не можуть бути довільно змінені. Віконна функція визивається з Windows при вступі у додаток того чи іншого повідомлення. При її виклику Windows передає їй цілком певний список параметрів, і функція повинна мати можливість ці параметри прийняти і працювати з ними. Тому в інтерактивному довіднику системи програмування дається шаблон (template) віконної функції, який за своїм виглядом дуже схожий на прототип, однак є не прототипом конкретної функції, а заготівлею для програміста:

У файлі WINDEF.H символічне позначення CALLBACK оголошується рівнозначним ключовим словом мови C ++ stdcall, яке визначає правила взаємодії функцій з зухвалими процедурами. У Win32 практично для всіх функцій діє так звана угода стандартного виклику. Ця угода визначає, що при виклику функції її параметри поміщаються в стек в такому порядку, що в глибині стека виявляється останній параметр, а на вершині - перший. Сама функція знає при якому розташуванні її параметрів і вибирає їх з стека в правильній послідовності. Для 16-розрядних функцій Windows діє угода мови Паскаль, при якому порядок приміщення параметрів в стек зворотний.

Функціонування додатки Windows

Програма складається з двох функцій: головної функції, завжди має ім'я WinMain, і так званої віконної функції (віконної процедури) WndPгoc. При запуску програми Windows управління завжди передається функції WinMain, яка, таким чином, має бути присутня у будь-якій програмі. Більше того, ця функція, маючи в принципі циклічний характер, виконується протягом всього життя додатки. Основне призначення функції WinMain - виконання ініціюючих дій і організація циклу виявлення повідомлень.

Ініціюючі дії, що виконуються у функції WinMain(), полягають у реєстрації класу головного вікна, створенні цього вікна і його показі, тобто виведенні на робочій стіл Windows. Ці дії здійснюються викликом відповідних функцій Windows: RegisterClass(), CгeateWindow () і ShowWindow ().

Виконавши необхідні ініціалізували дії, головна функція WinMain() входить в нескінченний цикл виявлення повідомлень. Завдання функції WinMain полягає в прийомі цього повідомлення і передачі його друга найважливішого компоненту будь-якого додатку Windows - віконної функції.

Функція GetMessage () аналізує чергу повідомлень додатка. Якщо в черзі виявляється повідомлення, GetMessage вилучає його з черги і передає в додаток. Виконувана далі функція DispatchMessage () викликає віконну функцію, передаючи їй всі дані, що входять до повідомлення.

Віконна функція складається з стількох фрагментів, скільки конкретних повідомлень передбачається обробляти в цьому додатку. Якщо, наприклад, додаток повинен відслідковувати координати миші, то у віконну функцію слід включити фрагмент обробки повідомлень про переміщення миші; якщо, крім цього, програма має реагувати на сигнали від таймера, у віконну функцію включається фрагмент обробки повідомлень від таймера. Всі інші повідомлення, які можуть надійти в додаток, але які нас не цікавлять, передаються функції Windows DefWindowProc (), яка виконує мінімально необхідну обробку будь-яких повідомлень.

У програмі не передбачено виконання будь-яких прикладних дій; користувач може тільки змінювати за допомогою миші розміри вікна, переміщати його по робочому столу або, натиснувши на кнопку з хрестиком, завершити додаток. З іншого боку, всі елементи програми входять з тими чи іншими варіаціями практично в будь-який додаток Windows.