Дипломированных специалистов «Информатика и вычислительная техника»



Download 12,06 Mb.
Pdf ko'rish
bet218/357
Sana22.02.2022
Hajmi12,06 Mb.
#115195
TuriДиплом
1   ...   214   215   216   217   218   219   220   221   ...   357
Bog'liq
assembler uchebnik dlya vuzov 2-e izd YuRXUW1

Завершение выполнения приложения
Выход из цикла обработки сообщений означает одно — необходимо
программу. В программе на C/C++ для этого непосредственно за циклом обработ-
ки сообщений помещается оператор return (см. листинг 16.1):
return


398 Глава 16. Создание Windows-приложений на ассемблере
В качестве операнда в операторе return используется значение поля wParam эк-
земпляра структуры MSG —
Значение этого поля формируется значением
соответствующего поля последнего сообщения, выбранного функцией
из очереди. Нетрудно догадаться, что
сообщением было WM_QUIT.
Листинг 16.3 позволяет посмотреть, каким образом процесс завершения
Windows-приложения реализован компилятором языка C/C++:
004012С6
push еах
004012СС call _exit
proc near ; CODE XREF: start+A9_p
00401389
sub_4013C0 ;_doexit
004013D1 call ds:GetCurrentProcess
004013D7 pusheax
004013D8 call ds:TerminateProcess
00401458 pushesi
00401459 call ds:ExitProcess
00401462 retn
Из полного варианта листинга 16.3 видно, что процедура
возвращает
в регистре еах значение wParam сообщения
Затем вызывается локальная
процедура _exit, предназначенная для выполнения определенных действий по за-
вершению приложения.
_exit, в свою очередь, вызывает другую локаль-
ную процедуру —
Ее текст представляет наибольший интерес для нас, так
как в нем мы видим те функции Win32 API, которые непосредственно выполняют
работу по удалению приложения из системы Windows, — это три функции: Get-
CurrentProcess,
и
Для завершения работы приложения
достаточно использовать только функцию ExitProcess, что и сделано в разработан-
ной нами программе (строки 158-161 листинга 16.4).
На этом рассмотрение работы главной функции стандартного Windows-при-
ложения можно считать оконченным. Видимо, вы обратили внимание на то, что до
сих пор вся работа шла в интересах Windows: инициализировались определенные
структуры данных, вызывались строго определенные функции и т. д. А где же по-
лезная работа приложения? Выполнением этой работы занимается оконная функ-
ция. Если быть более точным, то она выступает координатором этой работы. Далее
разберемся с тем, как реализовать оконную функцию Windows-приложения на
языке ассемблера.

Download 12,06 Mb.

Do'stlaringiz bilan baham:
1   ...   214   215   216   217   218   219   220   221   ...   357




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish