рдЕрдВрдЬреАрд░ред 1. рдЯреВрдЯреЗ рд╣реБрдП, рд▓реЗрдХрд┐рди рдЯреВрдЯреЗ рд╣реБрдП рдирд╣реАрдВред рд╡рд┐рдВрдбреЛрдЬ рдХреИрд▓рдХреБрд▓реЗрдЯрд░, рдЬрд┐рд╕рдХрд╛ рдХреЛрдб рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЬреАрдердм рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рджреЛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдирд┐рдХрд▓рд╛, рдЬреЛ рд▓рдЯрдХрд╛ рдирд╣реАрдВ рдерд╛ рдФрд░ 2000 рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдлреЗрдЬрд░ рдХреЗ рд╡рд┐рд░реЛрдз рдореЗрдВ рдирд╣реАрдВ рдЧрд┐рд░рд╛ рдерд╛ред рдЦрд┐рдбрд╝рдХреА рдХреЗ рдЖрдХрд╛рд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдлрдЬреА рдХрд▓рд╛рдХреГрддрд┐рдпреЛрдВ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдврд╝реЗ рд╣реБрдП рд╣реИрдВрдпрд╣ рдЖрдзреБрдирд┐рдХ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдкрд░ рдкреНрд░рд╛рдЪреАрди рдлрд╝рдЬрд╝рд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд╣рдорд╛рд░реЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рджреВрд╕рд░реЗ рднрд╛рдЧ рдХрд╛ рд╕рдордп рд╣реИред рдпрджрд┐ рдЖрдк рдЪреВрдХ рдЧрдП рд╣реИрдВ, рддреЛ рдпрд╣рд╛рдВ
рдкрд╣рд▓рд╛ рднрд╛рдЧ рд╣реИ ред рдЗрд╕ рдмрд╛рд░, рд╣рдо 2000 рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЬрд╕реНрдЯрд┐рди рдлреЙрд░реЗрд╕реНрдЯрд░ рдФрд░ рдмрд╛рд░реНрдЯрди рдорд┐рд▓рд░ рджреНрд╡рд╛рд░рд╛ рд░реИрдВрдбрдо рдЯреЗрд╕реНрдЯрд┐рдВрдЧ (рд░реИрдВрдбрдо рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХреА рдЖрдиреБрднрд╡рд┐рдХ рдЬрд╛рдБрдЪ) (рдЙрд░реНрдл "рдПрдирдЯреА рдлрд╝рдЬрд╝рд┐рдВрдЧ рд░рд┐рдкреЛрд░реНрдЯ") рд▓реЗрдЦ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ 10 рдлрд╝рдЬрд╝рд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред
рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдиреЗ рд╡рд┐рдВрдбреЛрдЬ рдПрдирдЯреА рдХреЗ 33 рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдФрд░ рд╡рд┐рдХреГрдд рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рдЙрд╕ рдФрд░ рдХреАрдмреЛрд░реНрдб рдШрдЯрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╕рдВрд╡реЗрджрдирд╢реАрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ 2000 рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ред рдЪреВрдВрдХрд┐ рдбреЙред рдорд┐рд▓рд░ рдиреЗ рдлрд╝рдЬрд╝рд░ рдХреЛрдб рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рд╣рдордиреЗ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдВрдбреЛрдЬ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдмрдЧ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдореВрд▓ рд▓реЗрдЦрдХреЛрдВ
рдХреЗ рд╕рдорд╛рди рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред
рдкрд░рд┐рдгрд╛рдо рд▓рдЧрднрдЧ рд╕рдорд╛рди рд╣реИрдВ: 19 рд╕рд╛рд▓ рдкрд╣рд▓реЗ, рд╡рд┐рдХреГрдд рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдиреЗ рдкрд░ 100% рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рдпрд╛ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рдЧрдП рдереЗред рдЖрдЬ, рдПрдХ рд╣реА рдлрд╝реБрдЬрд╝рд░ рдиреЗ 93% рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ рдпрд╛ рд▓рдЯрдХрд╛ рджрд┐рдпрд╛ред рд╣рдорд╛рд░реЗ рдкреБрд░рд╛рдиреЗ рдорд┐рддреНрд░
рдХреИрд▓рдХреБрд▓реЗрдЯрд░ (рдЪрд┐рддреНрд░ 1) рд╕рд╣рд┐рдд рдХреЗрд╡рд▓ рджреЛ рд╣реА рдЦрдбрд╝реЗ рдереЗред рд╣рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдПрдХ рдмрдЧ (рд▓реЗрдХрд┐рди рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ) рдорд┐рд▓рд╛ред
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкрд░рд┐рдЪрдп
рддреЛ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╕рдВрджреЗрд╢ рдХреНрдпрд╛ рд╣реИрдВ рдФрд░ рд╡реЗ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рджреБрд░реНрдШрдЯрдирд╛ рдХрд╛ рдХрд╛рд░рдг рдХреНрдпреЛрдВ рдмрдирд╛рддреЗ рд╣реИрдВ?
рд╡рд┐рдВрдбреЛрдЬ GUI рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдИрд╡реЗрдВрдЯ-рдЪрд╛рд▓рд┐рдд рд╣реИрдВ: рдорд╛рдЙрд╕ рдореВрд╡рдореЗрдВрдЯреНрд╕, рдмрдЯрди рдкреНрд░реЗрд╕, рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдЗрддреНрдпрд╛рджрд┐ред рдИрд╡реЗрдВрдЯ-рдЪрд╛рд▓рд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрдм рддрдХ рдХреБрдЫ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдПрдХ рдЗрд╡реЗрдВрдЯ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ред рдПрдХ рдШрдЯрдирд╛ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдШрдЯрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЕрдиреНрдп рдШрдЯрдирд╛рдУрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реИред рдкрд░рд┐рдЪрд┐рдд рд▓рдЧ рд░рд╣рд╛ рд╣реИ? рдЗрд╕ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
рдХреЛ рдиреЛрдб.рдЬреЗрдПрд╕ рдЬреИрд╕реЗ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдкрд░ рджреВрд╕рд░рд╛ рдЬреАрд╡рди рдорд┐рд▓рд╛ рд╣реИредрд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢ рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рдЗрд╡реЗрдВрдЯ рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди рд╡рд┐рдзрд┐ рд╣реИ ред рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрдВ
рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдШрдЯрдирд╛ рд╕реЗ рдЬреБрдбрд╝рд╛ рдПрдХ
рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдХреЛрдб рд╣реИ ред рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджреЗрд╢ рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ
рдХрдиреНрд╡реЗрдВрд╢рди рджреНрд╡рд╛рд░рд╛ lParam рдФрд░ wParam рдХрд╣рддреЗ рд╣реИрдВ ред рд╡реЗ рдШрдЯрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕реА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЙрджрд╛рд╣рд░рдг рдорд╛рдЙрд╕ рдХреА рдЧрддрд┐ рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╣реИрдВ, рдЬреЛ рдХреБрдВрдЬреА рдХреЛ рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдпрд╛ рдЬреЛ рдкрд╛рда рдХреЛ рдЦрд┐рдбрд╝рдХреА рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИред рдпреЗ рд╕рдВрджреЗрд╢ рд╕реНрд╡рдпрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдпрд╛ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рднреЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╡реЗ рдХрд┐рд╕реА рднреА рд╕рдордп рдФрд░ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдореЗрдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдкрдХреНрд╖ рдкрд░ рдЖрд╡реЗрджрди рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕реБрд░рдХреНрд╖рд╛ рдирд┐рд╣рд┐рддрд╛рд░реНрде
Windows Vista рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдХрдо-рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдПрдХ рдЙрдЪреНрдЪ-рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкреНрд░рд╛рдкреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬ рд╕рдХрддреА рд╣реИред рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╣реА рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рд╕реНрдЯрд╛ рдореЗрдВ, рдЗрди
"рд╡рд┐рдзреНрд╡рдВрд╕рдХ рд╣рдорд▓реЛрдВ" рдХреЛ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░
UIPI рджреНрд╡рд╛рд░рд╛ рдФрд░ рдПрдХ рдЕрд▓рдЧ рд╕рддреНрд░ рдореЗрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реЗрд╡рд╛рдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдХреЗ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
рдЧрд▓рдд рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдЖрдзреБрдирд┐рдХ рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рднреЗрдЬреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рджреВрд╕рд░реЗ, рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдкрд░ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреНрд░реИрд╢ рдХрд░рдирд╛ рдпрд╛ рдХреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рдХрд┐рд╕реА рд╣рдорд▓рд╛рд╡рд░ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИред рд╢рд╛рдпрдж, рдпрд╣ рдПрдирдЯреА рдлрд╝рдЬрд╝рд┐рдВрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдерд╛ред рд╡реЗ рд╕реБрд░рдХреНрд╖рд╛ рдмрдпрд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛рдПрдВ рдХрдареЛрд░ рдкрд░реАрдХреНрд╖рдг рдХреА рдХрдореА рд╣реИред
рдХреБрдЫ рдХреНрд╖реЗрддреНрд░ рд╣реИрдВ рдЬрд╣рд╛рдВ рд╕рдорд╛рди рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╕реЗ рд╕рдордЭреМрддрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреГрддреНрд░рд┐рдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╕реНрддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдирд╣реАрдВ рдкрд╛рдП рдЬрд╛рддреЗ рдереЗред рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╕реИрдВрдбрдмреЙрдХреНрд╕ рд╣реИред рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдирд┐рд░реНрдорд╛рддрд╛ рдЗрди рдореБрджреНрджреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдФрд░
рдЙрдиреНрд╣реЗрдВ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрджрдо рдЙрдард╛рдП рд╣реИрдВ ред рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕ рдЙрддреНрдкрд╛рдж рд╣реИред рд╡рд╣рд╛рдВ, рдирд┐рдпрдВрддреНрд░рдг рдХрдХреНрд╖ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдПрдВрдЯреА-рд╡рд╛рдпрд░рд╕ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд░реАрдХреНрд╖рдг рдкрджреНрдзрддрд┐
рдкрд░реАрдХреНрд╖рдг рд╕реВрдЯ рдореЗрдВ рд╕рднреА рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдлрд╝рдЬрд╝реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдПрдирдЯреА рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╕рдорд╛рди рдХреЛрд░ рдХреЛрдб рдФрд░ рдлрд╝рдЬрд╝рд┐рдВрдЧ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ,
SendMessage рдФрд░
PostMessage рджреЛрдиреЛрдВ рдореЛрдб рдореЗрдВ, рдлрд╝реИрдЬрд╝рд░ рдиреЗ 42 рдмреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде 500,000 рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рддреАрди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдФрд░ 1,337 рдмреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде 500,000 рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рддреАрди рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдкрд░рд┐рдгрд╛рдо рджрд┐рдЦрд╛рдИ рджрд┐рдПред
рд╣рдо рд╕рдордп рдХреА рдХрдореА рдФрд░ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╕рдВрджреЗрд╢реЛрдВ рдкрд░ рдкреВрд░реА рддрд░рд╣ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЗ рдХрд╛рд░рдг рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдорд╛рдЙрд╕ рдФрд░ рдХреАрдмреЛрд░реНрдб рдЗрдирдкреБрдЯ рд╕реЗ рдЪреВрдХ рдЧрдПред рд╣рдо рдЙрди рд▓реЛрдЧреЛрдВ рдХреЛ рднреА рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдкрд░реАрдХреНрд╖рдг рджреЛрд╣рд░рд╛рдиреЗ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдиреБрдХрд╕рд╛рди
рд╡рд┐рдВрдбреЛрдЬ 10 рдореЗрдВ рдлрдЬреАрд░ рдХреЗ рд▓рд┐рдП рджреЛ рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рдХрд░рдиреЗ рдкрдбрд╝реЗред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрд╕реЗ 64-рдмрд┐рдЯ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░реЗрдВред рджреВрд╕рд░реЗ рдкрд░рд┐рд╡рд░реНрддрди рдиреЗ рдлрд╝реЗрдЬрд╝рд░ рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреАред рд╡рд┐рд╢рд┐рд╖реНрдЯ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ рдлрд╝реНрдпреВрдЬрд╝ рдХрд░рдирд╛
рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо (рдпреВрдбрдмреНрд▓реНрдпреВрдкреА) рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рддреНрд╡рд░рд┐рдд рдлрд╝рд┐рдХреНрд╕ рд╣реИред рдореВрд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдлрд╝рдЬрд╝рд┐рдВрдЧ рд╡рд┐рдВрдбреЛ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ рдЬреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рднреА UWP рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ (рдЫрд╡рд┐ред 2) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝рдЬрд╝рд░ рдХреЛ рдореБрдЦреНрдп UWP рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдВрдЬреАрд░ред 2. UWP рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдкрд░, рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ ( ApplicationFrameHost.exe
) рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИрдВред рдЗрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдореВрд▓ NT рдлрд╝рдЬрд╝рд░ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛рдлрд╝реНрдпреВрдЬрд╝рд░ рд╕рдВрд╢реЛрдзрди рдореЗрдВ рдПрдХ рдЧрдВрднреАрд░ рджреЛрд╖ рдерд╛: рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЗрдирдкреБрдЯ рдХреЗ рджреЛ рдореБрдЦреНрдп рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЪреБрдиреЗ рдЧрдП рдорд╛рди,
SendMessage
рдФрд░
PostMessage
рд▓рд┐рдП
lParam
рдФрд░
wParam
, 16-рдмрд┐рдЯ рдкреВрд░реНрдгрд╛рдВрдХ рддрдХ рд╕реАрдорд┐рдд рд╣реИрдВред рджреЛрдиреЛрдВ рддрд░реНрдХ 32-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ 32-рдмрд┐рдЯ рдФрд░ 64-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ 64-рдмрд┐рдЯ рд╣реИрдВред рд╕рдорд╕реНрдпрд╛
Fuzz.cpp
рдореЗрдВ рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдБ
lParam
рдФрд░
Fuzz.cpp
wParam
:
wParam = (UINT) rand(); lParam = (LONG) rand();
рд░реИрдВрдб () рдлрд╝рдВрдХреНрд╢рди рд╕реАрдорд╛ [0, 2
16 ] рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдорд╛рдиреЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рдмрд╣реБрдд рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рдордиреЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдЗрд╕ рддреНрд░реБрдЯрд┐ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдмрдЪрд╛рдпрд╛ рддрд╛рдХрд┐ рдкрд░рд┐рдгрд╛рдо рдореВрд▓ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдореЗрд▓ рдЦрд╛ рд╕рдХреЗрдВред
рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдЕрдиреБрдкреНрд░рдпреЛрдЧ
рдореВрд▓ NT рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, 33 рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ 28 рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред 2000 рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкрд╛рд░рд┐рд╕реНрдерд┐рддрд┐рдХреА рддрдВрддреНрд░ рдореЗрдВ рдХрд╛рдлреА рдмрджрд▓рд╛рд╡ рдЖрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдХреБрдЫ рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реИред Microsoft Office рд╕реБрдЗрдЯ рдореЗрдВ рдореВрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреА рддрд░рд╣ рд╣реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реЛрддреЗ рд╣реИрдВред рдиреЗрдЯрд╕реНрдХреЗрдк рдХрдореНрдпреБрдирд┐рдХреЗрдЯрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рд╣реБрдЖ рд╣реИред Adobe Acrobat рдХреЛ Adobe Reader рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдорд╛рдиреНрдп рд╣реИред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ Winamp рдиреЗ 2018 рдореЗрдВ рдПрдХ рдирдИ рд░рд┐рд▓реАрдЬ рдЬрд╛рд░реА рдХреА, рдЬреЛ рдореВрд▓ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рд╕рд╛рде рдирд┐рд╖реНрдкрдХреНрд╖ рддреБрд▓рдирд╛ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдерд╛ред рдкрд░рд┐рд╡рд░реНрддрди рдФрд░ рдЙрдирдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рджреЗрдЦреЗрдВ:
- рд╕реАрдбреА рдкреНрд▓реЗрдпрд░ in рд╡рд┐рдВрдбреЛрдЬ рдореАрдбрд┐рдпрд╛ рдкреНрд▓реЗрдпрд░: рд╕реАрдбреА рдкреНрд▓реЗрдпрд░ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдирдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИред
- рдпреВрдбреЛрд░рд╛ ud рд╡рд┐рдВрдбреЛрдЬ рдореЗрд▓: рдХреНрд╡рд╛рд▓рдХреЙрдо рдЕрдм рдИрдореЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдмрдЬрд╛рдп рдЪрд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЪреВрдВрдХрд┐ рдпреВрдбреЛрд░рд╛ рдЕрдм рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдореЗрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- рдХрдорд╛рдВрдб рдПрдВрдЯреАрд╡рд╛рдЗрд░рд╕ ast рдЕрд╡рд╛рд╕реНрдЯ рдлреНрд░реА рдПрдбрд┐рд╢рди: рдХрдорд╛рдВрдб рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕ рдЕрдм рдЙрдкрд▓рдмреНрдз рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдЕрд╡рд╛рд╕реНрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- GSView: рддрд╕реНрд╡реАрд░реЗрдВ: GSView рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдВрдбреЛрдЬ рдлреЛрдЯреЛ рджрд░реНрд╢рдХ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
- JavaWorkshop Net NetBeans IDE: JavaWorkshop IDE рдЕрдм рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред NetBeans рдПрдХ рдЕрдЪреНрдЫреЗ рдореБрдлреНрдд рд╡рд┐рдХрд▓реНрдк рдХреА рддрд░рд╣ рд▓рдЧрддрд╛ рд╣реИ рдЬреЛ рдЙрд╕ рдЪреАрдЬрд╝ рдХреА рднрд╛рд╡рдирд╛ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЬрд╛рдБрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИред
- рд╕реБрд░рдХреНрд╖рд┐рдд CRT CR BitVise SSH: рд╕реБрд░рдХреНрд╖рд┐рдд CRT рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╡реЗрдм рдлрд╝реЙрд░реНрдо рдЖрд╡рд╢реНрдпрдХ рд╣реИред BitVise SSH рдиреЗ рдПрдХ рддреНрд╡рд░рд┐рдд рдмреВрдЯ рдХреА рдкреЗрд╢рдХрд╢ рдХреАред
- рдЯреЗрд▓рдиреЗрдЯ on рдкреБрдЯреНрдЯреА: рдЯреЗрд▓рдиреЗрдЯ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрднреА рднреА рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдореМрдЬреВрдж рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдПрдХ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓реАрдХреЗрд╢рди рд╣реИред рдЬреАрдпреВрдЖрдИ рдХреЛ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдордиреЗ рдЗрд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рд▓реЛрдХрдкреНрд░рд┐рдп рдУрдкрди рд╕реЛрд░реНрд╕ рдЯрд░реНрдорд┐рдирд▓ рдПрдореНрдпреВрд▓реЗрдЯрд░ рдкреБрдЯреНрдЯреА рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ред
- рд╣рдордиреЗ рд╡рд┐рдВрдбреЛрдЬ рдРрдк рд╕реНрдЯреЛрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрдЯрд▓реЙрдЧ рд╕реЗ Microsoft рддреНрдпрд╛рдЧреА рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдлреНрд░реАрд╕реЗрд▓ рдФрд░ рд╕реЙрд▓рд┐рдЯреЗрдпрд░ рдкрд╛рдпрд╛ред
рдЖрд╡реЗрджрди рдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдкрд░рд┐рдгрд╛рдо рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред 64-рдмрд┐рдЯ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рдВрдбреЛрдЬ 10 рдкреНрд░реЛ рд╡рд░реНрдЬрди 1809 (рдмрд┐рд▓реНрдб 17763.253) рдкрд░ рд╕рднреА рдлрдЬрд┐рдВрдЧ рдХреА рдЧрдИред
рдкрд░рд┐рдгрд╛рдо
рдЬреИрд╕рд╛ рдХрд┐ рдореВрд▓ рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд▓реНрдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдХреЗ рд╕рдВрдХреЗрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
"рдЕрдВрдд рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд░рд┐рдгрд╛рдо рдПрдХ рдорд╛рддреНрд░рд╛рддреНрдордХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рд╕реЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдореЗрдВ рд╕рд╛рдкреЗрдХреНрд╖ рд╕реБрдзрд╛рд░ рдХрд╛ рдиреНрдпрд╛рдп рд╣реЛрддрд╛ рд╣реИред"
- рдЬрд╕реНрдЯрд┐рди рдлреЙрд░реЗрд╕реНрдЯрд░ рдФрд░ рдмрд╛рд░реНрдЯрди рдорд┐рд▓рд░ рджреНрд╡рд╛рд░рд╛ "рд╡рд┐рдВрдбреЛрдЬрд╝ рдПрдирдЯреА рдПрдкреНрд▓реАрдХреЗрд╢рди рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЕрдиреБрднрд╡рдЬрдиреНрдп рдЕрдзреНрдпрдпрди" рд╕реЗ
рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рдирд╣реАрдВ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕реБрдзрд╛рд░ рд╣реЛ рд░рд╣рд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрднрд┐рдХ NT рд░рд┐рдкреЛрд░реНрдЯ рдореЗрдВ, рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЧрдП рдпрд╛ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░ рд▓рдЯрдХрд╛ рджрд┐рдП рдЧрдПред рдЕрдм рджреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо: рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдФрд░ рдЕрд╡рд╛рд╕реНрдЯ рдПрдВрдЯреАрд╡рд╛рдпрд░рд╕, рдмрд┐рдирд╛ рдХрд┐рд╕реА рдирдХрд╛рд░рд╛рддреНрдордХ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЪрд░рдгрдмрджреНрдз рддрд░реАрдХреЗ рд╕реЗ рдмрдЪ рдЧрдПред рд╣рдо рдЧрд▓рдд рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд┐рдП рдЕрд╡рд╛рд╕реНрдЯ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЯреАрдореЛрдВ рдХреА рдкреНрд░рд╢рдВрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВред рдХреИрд▓рдХреБрд▓реЗрдЯрд░ рдЯреАрдо рдиреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдЦреЛрд▓рдиреЗ рдФрд░ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ UWP рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдореНрдорд╛рди рдЕрд░реНрдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИред рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рднреА рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП рддрд╛рд▓рд┐рдХрд╛ 1 рджреЗрдЦреЗрдВред
рддрд╛рд▓рд┐рдХрд╛ 1. рд╡рд┐рдВрдбреЛрдЬ 10 рдкрд░ рдореВрд▓ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдЦреЗрд▓рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдоред 19 рд╕рд╛рд▓ рдмрд╛рдж, рд▓рдЧрднрдЧ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрднреА рднреА рд╡рд┐рдХреГрдд рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВрд╡рд┐рдВрдбреЛрдЬ рдмрдЧ?
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рдкреНрд░рдмрд▓ рд╣реБрдИ, рдФрд░ рд╣рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдРрд╕рд╛ рд▓рдЧрддрд╛ рдерд╛ рдХрд┐ рдХрдИ рдЕрд╕рдВрдмрдВрдзрд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рдереЗред рдбреАрдмрдЧрд┐рдВрдЧ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛
WM_DEVICECHANGE
рд╕рдВрджреЗрд╢ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИред рдЬрдм рдлрдЬрд░ рдиреЗ рдпрд╣ рд╕рдВрджреЗрд╢ рднреЗрдЬрд╛ рдерд╛, рддрдм рднреА рд╕рд░рд▓рддрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЧрдпрд╛ рдерд╛ -
HelloWorld, Windows API (рдЪрд┐рддреНрд░ 3)
рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдг ред
рдЕрдВрдЬреАрд░ред 3. 32-рдмрд┐рдЯ HelloWorld.exe рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдлрд╝реБрдЬрд╝рд░ рд╕реЗ рдПрдХ рдЦрд┐рдбрд╝рдХреА рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рд░рд▓ рд╣реИред рдпрд╣ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХрд╣реАрдВ рд╣реИрд╣реИрд▓реЛрд╡рд░реНрд▓реНрдб рдХреЗ рдкрддрди рдХреЗ рдмрд╛рдж, рд╣рдордиреЗ рддреБрд░рдВрдд рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рд╕рдорд╕реНрдпрд╛ рдХреЗрд╡рд▓ 32-рдмрд┐рдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди 64-рдмрд┐рдЯ рд╡рд╛рд▓реЗ рдХреЛ рдирд╣реАрдВред рдХреБрдЫ рддреНрд╡рд░рд┐рдд рдбрд┐рдмрдЧрд┐рдВрдЧ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдХреНрд░реИрд╢
64-рдмрд┐рдЯ рдХреЗ рд▓рд┐рдП 32-рдмрд┐рдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╕рдВрдЧрддрддрд╛ рдкрд░рдд wow64win.dll рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдореЗрд░рд╛ рд╕рддрд╣реА (рдФрд░ рд╕рдВрднрд╡рддрдГ рдЧрд▓рдд) рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐
wow64win.dll!whcbfnINDEVICECHANGE
DEV_BROADCAST_HANDLE64
рдХреЛ
DEV_BROADCAST_HANDLE64
рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рдХреНрд╖рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ
DEV_BROADCAST_HANDLE64
ред рдлрд╝рдВрдХреНрд╢рди рдЗрд╕ рд╕рдВрд░рдЪрдирд╛ рдХреЛ 32-рдмрд┐рдЯ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП
DEV_BROADCAST_HANDLE32
рд╕рдВрд░рдЪрдирд╛ рдореЗрдВ рдХрдирд╡рд░реНрдЯ рдХрд░рддрд╛ рд╣реИред рд╡рд┐рдлрд▓рддрд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдлрд╝рдЬрд░ рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди wParam рдореВрд▓реНрдп рдЕрдорд╛рдиреНрдп рдореЗрдореЛрд░реА рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред
wParam
рдХреЛ рд╕реНрдерд╛рдиреАрдп рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ
wParam
рдПрдХ рдмреБрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдВрднрд╡рддрдпрд╛ рд╣рдЯрд╛рдиреЗ рдпреЛрдЧреНрдп рдбрд┐рд╡рд╛рдЗрд╕ рд╕реВрдЪрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП 32-рдмрд┐рдЯ рд╡рд┐рдВрдбреЛрдЬ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрд╛рдирдмреВрдЭрдХрд░ рдбрд┐рдЬрд╛рдЗрди рдирд┐рд░реНрдгрдп рдерд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдЧрд▓рдд рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдордиреЗ MSRC рдХреЛ рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реВрдЪрдирд╛ рджреА, рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛ рдкрд╛рд░ рдирд╣реАрдВ рд╣реБрдИ рдереАред рдЙрдиреНрд╣реЛрдВрдиреЗ рдкреБрд╖реНрдЯрд┐ рдХреА рдХрд┐ рддреНрд░реБрдЯрд┐ рд╕реБрд░рдХреНрд╖рд╛ рдореБрджреНрджрд╛ рдирд╣реАрдВ рдерд╛ред рд╣рдо рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЖрдо рддреМрд░ рдкрд░ рд╕реНрд╡реАрдХреГрдд рдЕрдЬреАрдм рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд┐рдХреНрд╕ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЕрдХреНрд╕рд░ рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЗрдирдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реЗ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдУрдкрди-рд╕реЛрд░реНрд╕ рд╡рд┐рдВрдбреЛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдкрд╣рд▓реЗ рдлрд╝реВрдЬрд╝рд░ рдХреЗ 19 рд╕рд╛рд▓ рдмрд╛рдж рднреА, рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ 93% рдЕрднреА рднреА рдЙрд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдерд┐рд░ рдпрд╛ рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдЙрддреНрд╕рд╛рд╣рдЬрдирдХ рд╣реИ рдХрд┐ рдХреБрдЫ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЗрд╕ рд╡рд┐рдХреГрдд рдЗрдирдкреБрдЯ рдХреЗ рд╕рд╛рде рд╢рд╛рди рд╕реЗ рд╕рд╛рдордирд╛ рдХрд░рддреЗ рд╣реИрдВ: рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреБрдЫ рд╕рдВрдЧрдардиреЛрдВ рдХреЛ рдЕрдкрдиреА рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рд░реВрдкрд░реЗрдЦрд╛ рдФрд░ рд╕рдВрд╕реНрдерд╛рдЧрдд рдЬреНрдЮрд╛рди рд╣реИред
рдмреЗрд╢рдХ, рдлрд╝рдЬрд╝рд░ рдХреЛ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕реБрдзрд╛рд░рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдзрд┐ рдиреЗ 93% рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреНрд░реИрд╢ рдХрд░ рджрд┐рдпрд╛ред рд╢рд╛рдпрдж рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╕рдВрджреЗрд╢ рднреА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реБрд░рдХреНрд╖рд╛ рд╕реАрдорд╛ рдХреЛ рдкрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЖрдк рдирд┐рд╖реНрдХрд░реНрд╖ рд╕рд╛рдЭрд╛ рдХрд░реЗрдВрдЧреЗред