Извиквания на функции на Windows

извиквания

Ориз. 2.2 Програма HELLOWIN, работеща на Windows 95

За да улесните процеса на компилиране на програми за Windows, можете да използвате помощната програма NMAKE, доставена с Microsoft Visual C++ 4.0. Ако искате да направите промени в изходния файл HELLOWIN.C, всичко, което трябва да направите, за да създадете нов изпълним файл HELLOWIN.EXE, е да стартирате помощната програма NMAKE, както е показано по-горе.

се състои от един или повече раздели, всеки от които започва с ред, който от своя страна започва с писане на целевия файл (целевия файл), последван от двоеточие, и след това изброява един или повече (зависими файлове), които в крайна сметка формират целевия файл. Този ред е последван от червения ред от един или повече командни редове. Тези команди всъщност са предназначени да създадат получения файл от Ако датата или часът на последната модификация на който и да е е по-късен от датата или часа на последната модификация на получения файл, тогава помощната програма NMAKE изпълнява командни редове.

Обикновено NMAKE променя само получения файл, намиращ се в първата секция на make-файла. Ако обаче някой от другите дялове също е резултатен файл, тогава NMAKE модифицира първо този резултатен файл.

HELLOWIN.MAK има два раздела. Ако HELLOWIN.OBJ е модифициран по-късно от HELLOWIN.EXE, тогава командният ред на първия раздел стартира линкера. Ако HELLOWIN.C е модифициран по-късно от HELLOWIN.OBJ, тогава командният ред на втория раздел изпълнява компилатора на C. Тъй като HELLOWIN.OBJ в първия раздел е изходният файл във втория раздел, NMAKE ще провери дали HELLOWIN.OBJ трябва да бъде модифициран, преди да създаде нов HELLOWIN.EXE файл. ТакаТака се изпълнява всъщност отдолу нагоре. Благодарение на работата на C компилатора, обектният модул HELLOWIN.OBJ се създава от изходния файл HELLOWIN.C. В резултат на работата на линкера, изпълнимият файл HELLOWIN.EXE се създава от обектния модул HELLOWIN.OBJ.

В глава 1 видяхме как дефинициите на макроси се предоставят от променливи на средата, зададени от пакетни файлове, които също бяха обсъдени там. Това е предимно включен набор от различни флагове на компилатор и имена на библиотеки за свързване, така че ако искате да научите повече за тях, върнете се към съответния раздел в Глава 1.

Изходен файл на C програма

Вторият файл, показан на фиг. 2.1 е файлът с изходен код HELLOWIN.C. Определянето, че тази програма е написана на езика за програмиране C, може да ви отнеме известно време!

Преди да навлезем в подробностите, нека да разгледаме HELLOWIN.C като цяло. Във файла има само две функции: WinMain и WndProc. WinMain е входната точка към програмата. Това е аналогично на стандартната основна функция на C. Всяка програма на Windows има функция WinMain.

WndProc е "прозоречната процедура" за прозореца HELLOWIN. Всеки прозорец, независимо дали е голям колкото главния прозорец на приложението на Windows или малък като бутон, има съответна процедура за прозорец. Прозоречната процедура е начин за капсулиране на кода, отговорен за въвеждане на информация (обикновено от клавиатурата или мишката) и за показване на информация на екрана. Процедурата на прозореца прави това чрез изпращане на "съобщения" до прозореца. Не се притеснявайте как точно се случва. По-късно ще имате достатъчно време да се опитате да разрешите този проблем.

Извиквания на функции на Windows

HELLOWIN се обажда на поне 17Функции на Windows. Тези функции са изброени тук в реда, в който се показват в програмата (с кратко описание на всяка функция):

• LoadIcon – Зарежда икона за използване в програмата.

• LoadCursor – Зарежда курсора на мишката за използване в програмата.

• GetStockObject – Получава графичен обект (в този случай се използва четка за рисуване на фона на прозореца).

• RegisterClassEx - Регистрира клас прозорец за определен програмен прозорец.

• CreateWindow – Създава прозорец въз основа на класа прозорец.

• ShowWindow – Показва прозорец на екрана.

• UpdateWindow – кара прозореца да преначертае съдържанието си.

• GetMessage – Получава съобщение от опашката със съобщения.

• TranslateMessage - превежда някои съобщения, получени с помощта на клавиатурата.

• DispatchMessage - Изпраща съобщение до прозоречна процедура.

• PlaySound - възпроизвежда звуков файл.

• BeginPaint - Инициира стартирането на процеса на рисуване на прозореца.

• GetClientRect – Получава размера на клиентската част на прозореца.

• DrawText – Чертае ред текст на екрана.

• EndPaint – Спира рисуването на прозореца.

• PostQuitMessage - Вмъква "завършено" съобщение в опашката за съобщения.

• DefWindowProc - Извършва обработка на съобщения по подразбиране.

Тези функции са описани в документацията или контекстната помощна система, доставена с вашия компилатор, и са описани в различни заглавни файлове от WINDOWS.H.

Идентификатори с главни букви

По-късно ще забележите използването на множество идентификатори в HELLOWIN.H, написани изцяло с главни букви. Тези идентификатори са посочени в заглавните файлове на Windows. Някои от тези идентификатори съдържат двубуквен илипрефикс от три букви, последван от долна черта:

CS_HREDRAW CS_VREDRAW CW_USEDEFAULT DT_CENTER DT_SINGLELINE

IDC_ARROW IDI_APPLICATION SND_ASYNC SND_FILENAME

WM_DESTROY WM_PAINT WS_OVERLAPPEDWINDOW