рдореИрдВ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рдЪреБрдирд╛рд╡ рдХреЛрдбреЗрдмрд▓ рдкрд░ рдЧрд┐рд░ рдЧрдпрд╛, рдЕрд░реНрдерд╛рддреН рдЖрджрд┐рдо рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдгред
рдЕрд╕реЗрдВрдмрд▓рд░ рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬреЛ рдЕрд╕реЗрдВрдмрд▓реА рднрд╛рд╖рд╛ рдореЗрдВ рд▓рд┐рдЦреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдХреЛ рдорд╢реАрди рд▓реИрдВрдЧреНрд╡реЗрдЬ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИред рднрд╛рд╖рд╛, рдХреБрдЫ рдорд╛рдирдХреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдЬрдЯрд┐рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рд╛рдЗрдореЗрдЯрд┐рдХреНрд╕ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдпрд╣рд╛рдВ рд╕реЗ рд╣реЛрддрд╛ рд╣реИред рдореИрдВ рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдХреЛрдбрд╛рдВрддрд░рдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рд╣реИ
MASM , рдЬреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдХреЗ рд╕рд╛рде, рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХ рдкреНрд░рд┐рдорд┐рдЯрд┐рд╡ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рддреНрд░ рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рдеред
рдкрд░ред
рд╢реБрд░реБрдЖрдд рд╣реЛ рд░рд╣реА рд╣реИ
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ malomalsky рд╕рд░рд▓ рд╕рдВрд░рдЪрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
1) рд╡рд┐рдВрдбреЛрдЬ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рднреА рд╕реНрдерд┐рд░рд╛рдВрдХ, рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╣рдорд╛рд░реА .asm рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд░рдЦреЗрдВ - рд╕рдордп рдФрд░ рдКрд░реНрдЬрд╛ рдмрдЪрд╛рдПрдВ;
2) рд╣рдо рдЖрдпрд╛рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдХреНрд▓реВрдб рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рд╕рдВрдХрд▓рдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдЧрд╛ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрди рдЖрдпрд╛рдд рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рд╕реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛;
3) рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ, рдФрд░ / рдпрд╛ рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рд╕рдорд╛рди рдирд╛рдореЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлрд╛рдЗрд▓ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВ, рдЬрд┐рд╕рдореЗрдВ рдлрд╛рдЗрд▓реЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдХрдо рд╕реЗ рдХрдо рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рднреА рдХреЛ рд╕рд┐рд░рджрд░реНрдж рд╕реЗ рдмрдЪрд╛рдПрдЧрд╛;
4) рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЗрдХрдлрд╛рдЗрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдореИрдВ рдХреБрдЫ рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рдФрд░ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдКрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдХреБрд▓ рдорд┐рд▓рд╛рдХрд░ рд╣рдореЗрдВ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдореЗрдВ рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЖрджрд┐рдо рдмрдирд╛ рджреЗрдЧрд╛ред рдЖрдЗрдП рдХреЛрдбрд╛рдВрддрд░рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ (рд╕реВрдЪреА 1 рджреЗрдЦреЗрдВ)
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 1. рдЙрджрд╛рд╣рд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрд░рдЪрдирд╛
.type_process ;
.model ;
include lib ; inc
includelib lib ; lib
.DATA ; p
;
.DATA? ; p
; pp
.CODE ;
рдЧреНрд░рд╛рдлрд┐рдХ рдЖрджрд┐рдо рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛
рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрджрд░реНрдн рдФрд░ WM_PAINT
рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ, рд╡рд┐рдВрдбреЛ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рд╡рд┐рдВрдбреЛ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕реЗ WM_PAINT рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЖрдорддреМрд░ рдкрд░ рддреАрди рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рдХ) рдпрджрд┐ рдХрд┐рд╕реА рднреА рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ, рддреЛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрд╣рд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ;
рдмреА) рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдмрдирд╛рдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЛ рдмрдЪрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рдХрдИ рдмрд╛рд░ "рдЦреЗрд▓рд╛";
рдЧ) рдЖрдк рдПрдХ рдЖрднрд╛рд╕реА рд╡рд┐рдВрдбреЛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рднреА рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд┐рдВрдбреЛ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЬрдм рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ WM_PAINT рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рддреЛ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд┐рдВрдбреЛ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдореЗрдВ рдХреЙрдкреА рдХрд░реЗрдВ (рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╛рдж рдореЗрдВ рд▓рд┐рдЦреЗ рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛)ред
рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗрдЯ рдХрд░рдирд╛
рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, MoveToEx () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рд╣реИ:
WINGDIAPI BOOL WINAPI MoveToEx (HDC, int, int, LPPOINT);
рдкрд╣рд▓рд╛ рддрд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реИ, рджреВрд╕рд░рд╛ рдФрд░ рддреАрд╕рд░рд╛ рдЙрд╕ рдмрд┐рдВрджреБ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВ рдЬрд┐рд╕ рдкрд░ рд╡рд░реНрддрдорд╛рди рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреА рд╕реНрдерд┐рддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХреА рдЧрдИ рд╣реИред рдЕрдВрддрд┐рдо рддрд░реНрдХ POINT рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдкреБрд░рд╛рдиреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд▓рд┐рдЦрддрд╛ рд╣реИред
рд░реЗрдЦрд╛ рдЦреАрдВрдЪрдирд╛
рдПрдХ рд░реЗрдЦрд╛ рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, LineTo () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
рд╡рд┐рдВрдЧрдУрдкреАрдПрдкреАрдЖрдИ рдмреЛрд▓реЗ рд╡рд┐рдирдкреАрдЖрдИ рд▓рд╛рдЗрдирдЯреЛ (рдПрдЪрдбреАрд╕реА, рдЗрдВрдЯ, рдЗрдВрдЯ);
рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЙрдкрдХрд░рдг рд╕рдВрджрд░реНрдн рд╣реИ, рджреВрд╕рд░рд╛ рдФрд░ рддреАрд╕рд░рд╛ рддрд░реНрдХ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВред
рдПрдХ рдЖрдпрдд рдЦреАрдВрдЪрдирд╛
рдЖрдпрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдпрдд () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдБ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рдореНрди рддрд░реАрдХреЗ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
WINGDIAPI BOOL WINAPI рдЖрдпрдд (HDC, int, int, int, int);
рдкрд╣рд▓рд╛ рддрд░реНрдХ рдЙрдкрдХрд░рдг рдХрд╛ рд╕рдВрджрд░реНрдн рд╣реИ, рд▓реЗрдХрд┐рди рд╢реЗрд╖ рддрд░реНрдХ рдЖрдпрдд рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдВ рдФрд░ рдирд┐рдЪрд▓реЗ рджрд╛рдПрдВ рдХреЛрдиреЛрдВ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВред
рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд рдЦреАрдВрдЪрдирд╛
рдПрдХ рджреАрд░реНрдШрд╡реГрддреНрдд рдЦреАрдВрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрд▓рд┐рдкреНрд╕реЗ () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рд╣реИ:
WINGDIAPI BOOL WINAPI рдПрд▓реАрдк (HDC, int, int, int, int);
рдкрд╣рд▓рд╛ рддрд░реНрдХ рдбрд┐рд╡рд╛рдЗрд╕ рд╕рдВрджрд░реНрдн рд╣реИред
рдиреЛрдЯ: рджреАрд░реНрдШрд╡реГрддреНрдд рдПрдХ рдЖрдпрдд рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╣реИ рдФрд░ рдпрд╣ рдЗрд╕ рдЖрдпрдд рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реИ рдХрд┐ рдЦреАрдВрдЪрд╛ рдЧрдпрд╛ рджреАрд░реНрдШрд╡реГрддреНрдд рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреВрд╕рд░рд╛ рдФрд░ рддреАрд╕рд░рд╛ рддрд░реНрдХ рдЖрдпрдд рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВ, рдЪреМрдерд╛ рдФрд░ рдкрд╛рдБрдЪрд╡рд╛рдБ рддрд░реНрдХ рдирд┐рдЪрд▓реЗ рджрд╛рдПрдБ рдХреЛрдиреЗ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВред
рдЧреЛрд▓ рдЖрдпрдд рдЦреАрдВрдЪрдирд╛
рдПрдХ рдЧреЛрд▓ рдЖрдпрдд рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, RoundRect () рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬрд╣рд╛рдБ рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рд╣реИ:
WINGDIAPI BOOL WINAPI RoundRect (HDC, int, int, int, int, int, int);
рдкрд╣рд▓реЗ рдкрд╛рдБрдЪ рддрд░реНрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдпрдд () рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИрдВред рдЕрдВрддрд┐рдо рджреЛ рддрд░реНрдХреЛрдВ рдореЗрдВ рдЖрд░реНрдХ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджреАрд░реНрдШрд╡реГрддреНрдд рдХреА рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рд╣реЛрддреА рд╣реИред
рд▓реЗрдЦрди рдФрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧ .asm рдХреЛрдб
рдПрдХ рдЖрджрд┐рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдмрдирд╛рдиреЗ рдФрд░ рд░реЗрдВрдбрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЪрд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
1) рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрднрд╛рд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛;
2) рдПрдХ рдЦрд┐рдбрд╝рдХреА рд╡рд░реНрдЧ рдХрд╛ рдкрдВрдЬреАрдХрд░рдг;
3) рдЦрд┐рдбрд╝рдХреА рдирд┐рд░реНрдорд╛рдг;
4) рд╕реНрдХреНрд░реАрди рдкрд░ рд╡рд┐рдВрдбреЛ рдбрд┐рд╕реНрдкреНрд▓реЗ;
5) рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рд╕реНрдХреНрд░реАрди рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛;
6) рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВред
рдЪрд▓рд┐рдП рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Visual Studio рдореЗрдВ рдПрдХ рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдПрдБ: рдлрд╝рд╛рдЗрд▓ -> рдирдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ

рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ: рдЦрд╛рд▓реА рдкреНрд░реЛрдЬреЗрдХреНрдЯ

рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ: рд╕реНрд░реЛрдд -> рдЬреЛрдбрд╝реЗрдВ -> рдирдИ рдЖрдЗрдЯрдо рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

рдПрдХ рдирдИ рдлрд╝рд╛рдЗрд▓ (.asm) рдмрдирд╛рдПрдБ:
рдкрд╣рд▓рд╛ рддрд░реАрдХрд╛ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реИред рдирдИ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╕рдордп (рдореИрдВрдиреЗ рдЗрд╕ рддрд░рд╣ рдмрдирд╛рдпрд╛)
рджреВрд╕рд░рд╛ рддрд░реАрдХрд╛ - рдлрд╝рд╛рдЗрд▓ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЙрд╕реЗ рдмрджрд▓реЗрдВ (file.txt -> rename -> file.asm)

рд╣рдо рд╡рд┐рдЬрд╝реБрдЕрд▓ рд╕реНрдЯреВрдбрд┐рдпреЛ рдореЗрдВ рдореЗрд╕реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ: рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд░рд╛рдЗрдЯ-рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ -> рдирд┐рд░реНрдорд╛рдг рдЕрдиреБрдХреВрд▓рди

рд╣рдо рдЗрд╕реЗ рдПрдХ рд╣реА рдореЗрд╢ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ: рдорд╕реНрдо рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдЯрд┐рдХ рд▓рдЧрд╛рддреЗ рд╣реИрдВ

рд╣рдо рдЗрд╕реЗ рдмрд╣реБрдд рд╣реА рдЖрджрд┐рдо рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рд╕реНрд╡рдпрдВ, рдиреАрдЪреЗ рджреЗрдЦреЗрдВред
рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ 2. рдЕрд╕реЗрдВрдмрд▓реА рдХреЛрдб рд▓рд┐рдЦрдирд╛
.386
.model stdcall, flat
option casemap:none
includelib kernel32.lib
include kernel32.inc
includelib user32.lib
include user32.inc
include windows.inc
include gdi32.inc
.data
hwnd dd 0
hInst dd 0
szTitleName db '. тДЦ6', 0
szClassName db ' Win32', 0
msg MONMSGSTRUCT <?>
wc WNDCLASS <?>
ps PAINTSTRUCT <?>
.code
Main PROC
invoke GetModuleHandle, 0 ; . ,
mov hInst, eax ; .
mov wc.style, CS_HREDRAW + CS_VREDRAW + CS_GLOBALCLASS
mov wc.lpfnWndProc, offset WndProc ;
mov wc.cbClsExtra, 0
mov wc.cbWndExtra, 0
mov eax, hInst ;
mov wc.hInstance, eax ; hInstance
invoke LoadIcon, 0, IDI_APPLICATION
mov wc.hIcon, eax ; hIcon
invoke LoadCursorA, 0, IDC_ARROW
mov wc.hCursor, eax ; hCursor
mov wc.hbrBackground, WHITE_BRUSH ;
mov dword ptr wc.lpszMenuName, 0 ;
mov dword ptr wc.lpszClassName, offset szClassName ;
invoke RegisterClassA, offset wc ;
invoke CreateWindowEx, 0, offset szClassName, offset szTitleName, \
WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, \
CW_USEDEFAULT, CW_USEDEFAULT, 0, 0, hInst, 0
mov hwnd, eax ;
invoke ShowWindow, hwnd, SW_SHOWNORMAL ;
invoke UpdateWindow, hwnd ;
cycle1: ;
invoke GetMessage, offset msg, 0, 0, 0
cmp ax, 0
je end_c
invoke TranslateMessage, offset msg ;
invoke DispatchMessage, offset msg ;
;
jmp cycle1
end_c:
invoke ExitProcess, 0 ;
Main ENDP
WndProc PROC USES ebx edi esi, _hwnd:DWORD, _wmsg:DWORD, _wparam:DWORD, _lparam:DWORD
local _hdc:DWORD
cmp _wmsg, WM_DESTROY
je wmdestroy
cmp _wmsg, WM_PAINT
je wmpaint
invoke DefWindowProcA, _hwnd, _wmsg, _wparam, _lparam ;.
jmp exit_proc
wmpaint:
invoke BeginPaint, _hwnd, offset ps ;
mov _hdc, eax
invoke Rectangle, _hdc, 170, 120, 310, 260 ;
invoke Rectangle, _hdc, 120, 120, 170, 140 ;
invoke Rectangle, _hdc, 310, 120, 360, 140 ;
invoke Rectangle, _hdc, 170, 260, 190, 310 ;
invoke Rectangle, _hdc, 290, 260, 310, 310 ;
invoke Rectangle, _hdc, 210, 80, 270, 120 ;
invoke Rectangle, _hdc, 220, 85, 225, 90 ;
invoke Rectangle, _hdc, 250, 85, 255, 90 ;
invoke Rectangle, _hdc, 225, 105, 255, 120 ;
invoke EndPaint, _hdc, offset ps ;
mov eax, 0 ; - 0
jmp exit_proc
wmdestroy:
invoke PostQuitMessage, 0 ; WM_QUIT
mov eax, 0 ; - 0
exit_proc:
ret
WndProc ENDP
END Main
рдкрд░рд┐рдгрд╛рдо

рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рджреМрд░рд╛рди рдФрд░ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рджреМрд░рд╛рди, рдореИрдВрдиреЗ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдбрд╛рд▓ рджреАрдВ, рд▓реЗрдХрд┐рди рдкреВрд░реНрдг рд╕рд╛рд░ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЬреЛ рдХреБрдЫ рдХрд┐рдпрд╛ рдФрд░ рд▓рд┐рдЦрд╛, рдЙрд╕ рдкрд░ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред
рдбреАрдмреНрд░реАрдлрд┐рдВрдЧ
.386 рдХреЗ рд╕рд╛рде рд▓рд╛рдЗрди MASM рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░ 80386 рдХреЗ рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╕реЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓рд╛рдЗрди .model stdcall, рдлреНрд▓реИрдЯ MASM рдХреЛ рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдлреНрд▓реИрдЯ рдореЗрдореЛрд░реА рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░ рдЯреНрд░рд╛рдВрд╕рдлрд░ рд╕реНрд╡рдпрдВ рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ STDCALL рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдореИрдВрдиреЗ рдХреЛрдб рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ windows.inc рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕рдВрд░рдЪрдирд╛рдПрдВ рдФрд░ рд╕реНрдерд┐рд░рд╛рдВрдХ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдкреНрд░рд╛рдЗрдорд░реА рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЪреВрдВрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдВрдбреЛрдЬ рдПрдкреАрдЖрдИ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИ рдЬреЛ user32.dll (CreateWindowEx рдФрд░ рдЕрдиреНрдп) рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИрдВ рдФрд░ рдХрд░реНрдиреЗрд▓ 32.dll (ExitPocess рдФрд░ рдЕрдиреНрдп) рдЙрдиреНрд╣реЗрдВ рднреА рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо PROC рдХреЗ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред
рдЕрдЧрд▓рд╛ рдЖрддрд╛ рд╣реИ .рдбреЗрдЯрд╛, рдЬрд╣рд╛рдВ: szClassName рд╣рдорд╛рд░реА рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рдХрд╛ рдирд╛рдо рд╣реИ рдФрд░ szTitleName рд╣рдорд╛рд░реА рд╡рд┐рдВрдбреЛ рдХрд╛ рдирд╛рдо рд╣реИред
.Code рдореЗрдВ, рдЗрд╕рдореЗрдВ рд╕рднреА рдирд┐рд░реНрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ рдЬрд╣рд╛рдВ рдХреЛрдб <рд▓реЗрдмрд▓ рдирд╛рдо> рдФрд░ рдЕрдВрдд <рд▓реЗрдмрд▓ рдирд╛рдо> рдХреЗ рдмреАрдЪ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдкрд╣рд▓рд╛ рдирд┐рд░реНрджреЗрд╢ рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП GetModuleHandle рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрд▓ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ API рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рдмрд╛рдж рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рдХрд╛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдЖрддрд╛ рд╣реИ - рдпрд╣ рдХреБрдЫ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рдВрдбреЛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдЖрдЗрдХрди, рдХрд░реНрд╕рд░, рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдЗрд╕реА рддрд░рд╣ред рдпрд╣рд╛рдВ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╣реИрдВрдбрд▓, рдЖрдЗрдХрди рдХреЗ рд╣реИрдВрдбрд▓ рдФрд░ рдХрд░реНрд╕рд░ рдХреЛ рд╣реИрдВрдбрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВред рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдХреЛрдИ рдореЗрдиреВ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдмрдврд╝рд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирд╣реАрдВ рдЬреЛрдбрд╝реЗрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдЬрдм рд╕реЗ рдпрд╣ рдПрдХ рдЖрджрд┐рдо рд╣реИ рдФрд░ рдЗрд╕рдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛ рд╕рдХрдиреЗ рд╡рд╛рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░:
1) cbSize: рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп WDNCLASSEX рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдЖрдХрд╛рд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
2) рд╢реИрд▓реА: рдЦрд┐рдбрд╝рдХреА рдХреА рд╢реИрд▓реА рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
3) cbClsExtra: рдЕрддрд┐рд░рд┐рдХреНрдд рдмрд╛рдЗрдЯреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА;
4) hInstance: рдореЙрдбреНрдпреВрд▓ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
5) hIcon: рдЖрдЗрдХрди рдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рд░рд╕реАрдж рд▓реЛрдбрдЖрдИрдХреЙрди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкрд╛рд░рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИ;
6) hCursor: рдХрд░реНрд╕рд░ рдХреЛ рд╣реИрдВрдбрд▓ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕рдХреА рд░рд╕реАрдж LoadCursor рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдкрд╛рд╕ рдХреА рдЬрд╛рддреА рд╣реИ;
7) hbrBackground: рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛ рд░рдВрдЧ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ;
8) lpszMenuName: рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреЗ рд▓рд┐рдП рдореЗрдиреВ рд╣реИрдВрдбрд▓ рд╕реЗрдЯ рд╣реИ;
9) lpszClassName: рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рдирд╛рдо рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред
RegisterClassEx рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╡рд┐рдВрдбреЛ рдХреНрд▓рд╛рд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, CreateWindowEx рдХреЛ рдЗрд╕ рдХреНрд▓рд╛рд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╣рдорд╛рд░реА рд╡рд┐рдВрдбреЛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореБрдЦреНрдп рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ WndProc PROC USES ebx edi esi, _hwnd: DWORD, _wmsg: DWORD, _wparam: DWORD, _lparam: DWORD рд╣реИред рдЗрд╕реЗ WndProc рдХрд╣рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рдерд╛, рдЬрд╣рд╛рдВ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░, _wnd рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рд╣реИ рдЬрд┐рд╕реЗ рднреЗрдЬрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред _wmsg - рдкреНрд░реЗрд╖рд┐рдд рд╕рдВрджреЗрд╢ред рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ _wmsg рдПрдХ рд╕рдВрджреЗрд╢ рд╕рдВрд░рдЪрдирд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИред _wamam рдФрд░ _lparam рдХреБрдЫ рд╕рдВрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред
рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрдВрддрд┐рдо рднрд╛рдЧ рдореЗрдВ рдЖрдП, рдЬрд╣рд╛рдВ рдкреВрдЫреЗ рдЧрдП рдЖрдВрдХрдбрд╝реЗ, рдЙрдирдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдФрд░ рд░рд┐рдЯрд░реНрди рдорд╛рди рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдпрд╣рд╛рдВ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдЬрд┐рдХ рд╕реНрдерд┐рдд рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рд╕рдВрджрд░реНрдн рдХреА рд░рд┐рд╣рд╛рдИ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд╣рд╛рдВ рдЖрдЧреЗ рд╣рдо рдкреВрд░реНрдгрддрд╛ рдХрд╛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддреЗ рд╣реИрдВред рдПрдХрдорд╛рддреНрд░ рд╕рдВрджреЗрд╢ рдЬреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реЛрдирд╛ рдмрд╛рдХреА рд╣реИ, рд╡рд╣ рд╣реИ wmdestroy - рдпрд╣ рд╕рдВрджреЗрд╢ рд╡рд┐рдВрдбреЛ рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдпрд╣ рдмрдВрдж рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдЙрд╕ рд╕рдордп, рдЬрдм рд╡рд┐рдВрдбреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рддреЛ рд╡рд┐рдВрдбреЛ рдкрд╣рд▓реЗ рд╣реА рд╕реНрдХреНрд░реАрди рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЧрдИ рд╣реИред Wmdestroy рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, PostQuitMessage рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдирд┐рдХрд╛рд╕ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдпрд╣ GetMessage рдХреЛ рд╢реВрдиреНрдп рдорд╛рди рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рд╣реИред