рдРрд╕рд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдПрдХ рдЕрдЪреНрдЫрд╛ рд▓реЗрдЦ рд╣рдореЗрдВ рдЖрдзреБрдирд┐рдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ (
рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ рдореВрд▓ ,
рд╣рдмреНрд░реЗ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж ) рдХреЗ рдкреНрд░рджрд░реНрд╢рди рдХреА рднрдпрд╛рдирдХ рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛ рд░рд╣рд╛ рдерд╛ред рдЗрд╕ рд▓реЗрдЦ рдиреЗ рдореБрдЭреЗ рдХреЛрдб рдХреЗ рдПрдХ рдПрдВрдЯреАрдкреИрдЯрд░реНрди рдХреА рдпрд╛рдж рджрд┐рд▓рд╛ рджреА, рдЬреЛ рдмрд╣реБрдд рдЖрдо рд╣реИ рдФрд░ рдЖрдо рддреМрд░ рдкрд░ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рдФрд░ рд╡рд╣рд╛рдВ рдЫреЛрдЯреЗ рдкреНрд░рджрд░реНрд╢рди рдиреБрдХрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдПрдХ рддрд┐рдкрд╣рд┐рдпрд╛, рдЬреЛ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рд╣рд╛рдереЛрдВ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдЧрд╛ред рдПрдХрдорд╛рддреНрд░ рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЬрдЧрд╣реЛрдВ рдкрд░ рдмрд┐рдЦрд░реЗ рд╣реБрдП рдЗрди "рдЯреНрд░рд╛рдЗрдлрд▓реНрд╕" рдХреЗ рдПрдХ рджрд░реНрдЬрди рд╕реЗ "рдореБрдЭреЗ рдирд╡реАрдирддрдо рдЗрдВрдЯреЗрд▓ рдХреЛрд░ рдЖрдИ 7, рдФрд░ рд╕реНрдХреНрд░реЙрд▓рд┐рдВрдЧ рдЯреНрд╡рд┐рдЪреЗрд╕" рдЬреИрд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

рдореИрдВ
рд╕реНрд▓реАрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЧрд▓рдд рдЙрдкрдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ (рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдФрд░ рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдорд╛рдорд▓рд╛ рднрд┐рдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИ)ред рддреЛ рдиреАрдВрдж рдХреНрдпрд╛ рд╣реИ? рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдмрд╣реБрдд рд╕рд░рд▓рддрд╛ рд╕реЗ рдЙрддреНрддрд░ рджреЗрддрд╛ рд╣реИ: рдпрд╣ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд▓рд┐рдП рд╡рд░реНрддрдорд╛рди рдереНрд░реЗрдб рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдПрдХ рдард╣рд░рд╛рд╡ рд╣реИред рдпрд╣ рдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рд╕реМрдВрджрд░реНрдп рд╕реМрдВрджрд░реНрдп рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
void Sleep(DWORD dwMilliseconds);
рдмрд╕ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ (рдмреЗрд╣рдж рд╕реНрдкрд╖реНрдЯ), рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдХреЛрдб рдпрд╛ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ - рдпрд╣ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдмрд╣реБрдд рдХрдо рдРрд╕реЗ рдЕрдЪреНрдЫреЗ рдФрд░ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдХрд╛рд░реНрдп рд╣реИрдВ!
рдЬрдм рдЖрдк рдкрдврд╝рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рд╕рдорд╛рд░реЛрд╣ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдФрд░ рднреА рдЕрдзрд┐рдХ рд╕рдореНрдорд╛рди рдорд┐рд▓рддрд╛ рд╣реИрдлрд╝рдВрдХреНрд╢рди OS рдереНрд░реЗрдб рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдкрд╛рд╕ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рдмрддрд╛рддрд╛ рд╣реИ, "рдореЗрд░рд╛ рдереНрд░реЗрдб рдФрд░ рдореИрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдП рдЧрдП рд╕реАрдкреАрдпреВ рд╕рдордп рдФрд░ рдЕрдм рдХреЗ рдХрдИ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдордирд╛ рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рдЧрд░реАрдмреЛрдВ рдХреЛ рджреЛ! тАЭ рд╢реЗрдбреНрдпреВрд▓рд░, рдЗрд╕ рддрд░рд╣ рдХреА рдЙрджрд╛рд░рддрд╛ рд╕реЗ рдереЛрдбрд╝рд╛ рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдУрд░ рд╕реЗ рдХреГрддрдЬреНрдЮрддрд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИ, рд╢реЗрд╖ рд╕рдордп рдЕрдЧрд▓реЗ рд╡реНрдпрдХреНрддрд┐ рдХреЛ рджреЗрддрд╛ рд╣реИ (рдФрд░ рд╣рдореЗрд╢рд╛ рдРрд╕реЗ рд╣реЛрддреЗ рд╣реИрдВ) рдФрд░ рдЗрд╕рдореЗрдВ рд╡рд╣ рдзрд╛рдЧрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдХрд╛рд░рдг рдиреАрдВрдж рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд╛рдЯрдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмреНрдпреВрдЯреА!
рдХреНрдпрд╛ рдЧрд▓рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрд╕ рдЕрджреНрднреБрдд рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рдЙрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣реИред
рдФрд░ рдпрд╣ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рдард╣рд░рд╛рд╡ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреБрдЫ рдмрд╛рд╣рд░реА рдХреЗ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╕рд┐рдореБрд▓реЗрд╢рди рдХреЗ рд▓рд┐рдП рд╣реИред
рд╕рд╣реА рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 1
рд╣рдо "рдШрдбрд╝реА" рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕реЗрдХрдВрдб рдореЗрдВ рдЖрдкрдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рд╕рдВрдЦреНрдпрд╛ (рдпрд╛ рддреАрд░ рдХреА рд╕реНрдерд┐рддрд┐) рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣рд╛рдВ рдиреАрдВрдж рд╕рдорд╛рд░реЛрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХреВрд▓ рд╣реИ: рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЕрд╡рдзрд┐ (рдмрд┐рд▓реНрдХреБрд▓ рдПрдХ рд╕реЗрдХрдВрдб) рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реИред рд╕реЛрддреЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ?
рд╕рд╣реА рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 2
рд╣рдо
рдПрдХ рд░реЛрдЯреА
рдорд╢реАрди рдХреЗ рд▓рд┐рдП рдПрдХ рдЪрдиреНрджреНрд░рдорд╛ рдирд┐рдпрдВрддреНрд░рдХ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВред рдСрдкрд░реЗрд╢рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
- рдореЛрдб 1 рдкрд░ рдЬрд╛рдПрдВред
- рдЗрд╕рдореЗрдВ 20 рдорд┐рдирдЯ рддрдХ рдХрд╛рдо рдХрд░реЗрдВ
- рдореЛрдб 2 рдкрд░ рдЬрд╛рдПрдВред
- рдЗрд╕рдореЗрдВ 10 рдорд┐рдирдЯ рддрдХ рдХрд╛рдо рдХрд░реЗрдВ
- рдмрдВрдж рдХрд░ рджреЗрдВред
рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ: рд╣рдо рд╕рдордп рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣ рддрдХрдиреАрдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдиреАрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИред
рдЕрдм рдЖрдЗрдП рд╕реНрд▓реАрдк рдХреЗ рджреБрд░реБрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рджреЗрдЦреЗрдВред
рдЬрдм рдореБрдЭреЗ рдЧрд▓рдд C ++ рдХреЛрдб рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рдореИрдВ рдиреЛрдЯрдкреИрдб ++ рдЯреЗрдХреНрд╕реНрдЯ рдПрдбрд┐рдЯрд░ рдХреЛрдб
рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдореЗрдВ рдЬрд╛рддрд╛ рд╣реВрдВред рдЗрд╕рдХрд╛ рдХреЛрдб рдЗрддрдирд╛ рднрдпрд╛рдирдХ рд╣реИ рдХрд┐ рдХреЛрдИ рднреА рдПрдВрдЯреАрдкрд╛рд░реНрдЯрд░реНрди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣реИ, рдореИрдВрдиреЗ
рдПрдХ рдмрд╛рд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ
рдПрдХ рд▓реЗрдЦ рднреА рд▓рд┐рдЦрд╛ рдерд╛ред рдиреЛрдЯрдкреИрдб ++ рдиреЗ рдореБрдЭреЗ рдЗрд╕ рдмрд╛рд░ рдпрд╛ рддреЛ рдирд┐рд░рд╛рд╢ рдирд╣реАрдВ рдХрд┐рдпрд╛! рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдпрд╣ рдиреАрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИред
рдЦрд░рд╛рдм рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 1
рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░, рдиреЛрдЯрдкреИрдб ++ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд▓ рд░рд╣рд╛ рд╣реИ рдФрд░, рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреА рдЦрд┐рдбрд╝рдХреА рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдПрдХ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ, рдФрд░ рдЦреБрдж рдХреЛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред рдПрдХ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдорд╛рдирдХ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдо рдореНрдпреВрдЯреЗрдХреНрд╕ред рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬрд╝ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛:
if ((!isMultiInst) && (!TheFirstOne)) { HWND hNotepad_plus = ::FindWindow(Notepad_plus_Window::getClassName(), NULL); for (int i = 0 ;!hNotepad_plus && i < 5 ; ++i) { Sleep(100); hNotepad_plus = ::FindWindow(Notepad_plus_Window::getClassName(), NULL); } if (hNotepad_plus) { ... } ... }
рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рдиреЛрдЯрдкреИрдб ++ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рдВрдбреЛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рднреА рдХреА рдЧрдИ рдереА рдЬрд╣рд╛рдВ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рджреЛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдЙрдирдореЗрдВ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдореНрдпреВрдЯреЗрдХреНрд╕ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдПрдХ рд╕рдВрдкрд╛рджрдХ рд╡рд┐рдВрдбреЛ рдирд╣реАрдВ рдмрдирд╛рдИ рдЧрдИ рдереАред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рджреВрд╕рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ "100 рдПрдордПрд╕ рдореЗрдВ 5 рдмрд╛рд░" рд╡рд┐рдВрдбреЛ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдЧреАред рдирддреАрдЬрддрди, рд╣рдо рдпрд╛ рддреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдпрд╛ рдЦрд┐рдбрд╝рдХреА рдХреЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрдорд╛рдг рдФрд░ рдиреАрдВрдж рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдиреЗ рдХреЗ рдХреНрд╖рдг рдХреЗ рдмреАрдЪ 100 рдПрдордПрд╕ рддрдХ рдЦреЛ рджреЗрдВрдЧреЗред
рдпрд╣ рдиреАрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдкрд╣рд▓рд╛ (рдФрд░ рдореБрдЦреНрдп рдореЗрдВ рд╕реЗ рдПрдХ) рд╣реИред рд╣рдо рдШрдЯрдирд╛ рдХреЗ рдШрдЯрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди "рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдЪрд╛рдирдХ рднрд╛рдЧреНрдпрд╢рд╛рд▓реА рд╣реЛрдЧрд╛ред" рд╣рдо рдЗрддрдиреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдПрдХ рддрд░рдл рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рджреВрд╕рд░реА рдУрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЙрд╕ рдШрдЯрдирд╛ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ рдЬрд┐рд╕рдХреА рд╣рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 100 рдПрдордПрд╕ рдХреЗ рдард╣рд░рд╛рд╡ рдкрд░ рдзреНрдпрд╛рди рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ "рдмреБрд▓рдбреЛрдЬрд░ рд╕реЗ рдереЛрдбрд╝реА рдкреНрд░рддреАрдХреНрд╖рд╛" рдХреА рдРрд╕реА рдкреНрд░рдерд╛ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕рдмрд╕реЗ рдХреНрд╖реБрджреНрд░ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рд╣рд░ рдХрджрдо рдкрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдпрд╣рд╛рдВ 100 рдПрдордПрд╕, рдПрдХ рдФрд░ 50 рдПрдордПрд╕ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ 200 рдПрдордПрд╕ рд╣реИ - рдФрд░ рдпрд╣рд╛рдВ рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА "рдХреБрдЫ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрд░рд╣ рдзреАрдорд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред"
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдХреЛрдб рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕реМрдВрджрд░реНрдпрдкреНрд░рдж рд░реВрдк рд╕реЗ рдЕрдкреНрд░рд┐рдп рд╣реИ рдЬреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдпрд╣ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, рдХреЛрдИ рднреА
SetWindowsHookEx рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ HSHELL_WINDOWCREATED рдИрд╡реЗрдВрдЯ рдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрддрд╛ рд╣реИ - рдФрд░ рддреБрд░рдВрдд рд╡рд┐рдВрдбреЛ рдирд┐рд░реНрдорд╛рдг рдХреА рд╕реВрдЪрдирд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдВ, рдХреЛрдб рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдк рд╕реЗ 3-4 рд▓рд╛рдЗрдиреЗрдВред рдФрд░ рд╣рдо 100 рдПрдордПрд╕ рддрдХ рдЬреАрдд рдЧрдП! рдФрд░ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд - рд╣рдо рдЕрдм рдмрд┐рдирд╛ рд╢рд░реНрдд рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рдЕрдкреЗрдХреНрд╖рд╛ рдмрд┐рдирд╛ рд╢рд░реНрдд рдХреЗ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рдЦрд░рд╛рдм рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 2
HANDLE hThread = ::CreateThread(NULL, 0, threadTextTroller, &trollerParams, 0, NULL); int sleepTime = 1000 / x * y; ::Sleep(sleepTime);
рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ рдХрд┐ рдиреЛрдЯрдкреИрдб ++ рдореЗрдВ рдпрд╣ рдХреЛрдб рдХрд┐рддрдиреА рджреЗрд░ рддрдХ рдФрд░ рдХрд┐рддрдиреА рджреЗрд░ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рдерд╛, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЕрдХреНрд╕рд░ "рдПрдХ рд╕реНрдЯреНрд░реАрдо рд╢реБрд░реВ рдХрд░рдиреЗ рдФрд░ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ" рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдПрдВрдЯреАрдкреИрдЯрд░реНрди рджреЗрдЦрд╛ред рд▓реЛрдЧ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреАрдЬреЛрдВ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ: рдПрдХ рдЕрдиреНрдп рд╕реНрдЯреНрд░реАрдо рдХреА рд╢реБрд░реБрдЖрдд, рдЗрд╕рдореЗрдВ рд╕реЗ рдХреБрдЫ рдбреЗрдЯрд╛ рдХреА рдкреНрд░рд╛рдкреНрддрд┐, рдЗрд╕рдХреЗ рдХрд╛рдо рдХреА рд╕рдорд╛рдкреНрддрд┐ред рдпрд╣рд╛рдВ рджреЛ рдЪреАрдЬреЗрдВ рдЦрд░рд╛рдм рд╣реИрдВ:
- рдХреБрдЫ рдорд▓реНрдЯреАрдереНрд░реЗрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд▓реНрдЯреАрдереНрд░реЗрдбреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдпрд╛рдиреА рджреВрд╕рд░реЗ рдзрд╛рдЧреЗ рдХрд╛ рдкреНрд░рдХреНрд╖реЗрдкрдг рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдкрд╣рд▓реЗ рдореЗрдВ рдХреБрдЫ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗ, рдЗрд╕ рд╕рдордп рджреВрд╕рд░рд╛ рдзрд╛рдЧрд╛ рдЕрдиреНрдп рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдкрд╣рд▓рд╛, рдЕрдкрдирд╛ рдХрд╛рдо рд╕рдорд╛рдкреНрдд рдХрд░ рд░рд╣рд╛ рд╣реИ (рдФрд░, рд╢рд╛рдпрдж, рдереЛрдбрд╝рд╛ рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реИ), рдЕрдкрдирд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдЧрд╛ рдФрд░ рдХрд┐рд╕реА рддрд░рд╣ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рд╣рдо рджреВрд╕рд░рд╛ рдзрд╛рдЧрд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж "рд╕реЛрдирд╛" рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ - рддреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
- рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЙрдЪрд┐рдд рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рд╕рд┐рджреНрдз рдЕрднреНрдпрд╛рд╕ рд╣реИрдВ: рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдкреНрд░рддреАрдХреНрд╖рд╛-рдХрд╛рд░реНрдп, рдХреЙрд▓рдмреИрдХ рдХреЙрд▓ред рдпрджрд┐ рд╣рдо рджреВрд╕рд░реЗ рдереНрд░реЗрдб рдореЗрдВ рдХрд╛рдо рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдИрд╡реЗрдВрдЯ рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рджреВрд╕рд░реЗ рдереНрд░реЗрдб рдореЗрдВ рд╕рдВрдХреЗрдд рджреЗрдВред рдпрджрд┐ рд╣рдо рдХрд╛рдо рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЗ рдзрд╛рдЧреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ - C ++ рдореЗрдВ рдПрдХ рдЕрджреНрднреБрдд рдереНрд░реЗрдб рдХреНрд▓рд╛рд╕ рдФрд░ рдЗрд╕рдХреА рдЬреЙрдЗрди рд╡рд┐рдзрд┐ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдпрд╛, рдлрд┐рд░ рд╕реЗ, рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рд╡рд┐рд╢рд┐рд╖реНрдЯ рддрд░реАрдХреЗ рдЬреИрд╕реЗ рдХрд┐ WaitForSingleObject рдФрд░ Windows рдкрд░ рд╣реИрдВрдбрд▓) рд╣реИред рджреВрд╕рд░реЗ рдереНрд░реЗрдб рдореЗрдВ "рдХреБрдЫ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП" рдХрд╛рд░реНрдп рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдХреЗрд╡рд▓ рдореВрд░реНрдЦрддрд╛рдкреВрд░реНрдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдЧрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рдХрд╛ рдУрдПрд╕ рдирд╣реАрдВ рд╣реИ, рддреЛ рдХреЛрдИ рднреА рдЖрдкрдХреЛ рдЗрд╕ рдмрд╛рдд рдХреА рдХреЛрдИ рдЧрд╛рд░рдВрдЯреА рдирд╣реАрдВ рджреЗрдЧрд╛ рдХрд┐ рджреВрд╕рд░рд╛ рдзрд╛рдЧрд╛ рдХрд┐рддрдиреЗ рджрд┐рдиреЛрдВ рдореЗрдВ рд╢реБрд░реВ рд╣реЛрдЧрд╛ рдпрд╛ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЗ рдХреБрдЫ рдЪрд░рдг рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред
рдЦрд░рд╛рдм рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 3
рдпрд╣рд╛рдВ рд╣рдо рдПрдХ рдкреГрд╖реНрдарднреВрдорд┐ рдзрд╛рдЧрд╛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬреЛ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреЗ рдЗрдВрддрдЬрд╛рд░ рдореЗрдВ рд╕реЛ рд░рд╣рд╛ рд╣реИред
class CReadChangesServer { ... void Run() { while (m_nOutstandingRequests || !m_bTerminate) { ::SleepEx(INFINITE, true); } } ... void RequestTermination() { m_bTerminate = true; ... } ... bool m_bTerminate; };
рдореБрдЭреЗ рдпрд╣ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рдиреАрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдпрд╣рд╛рдВ рдиреАрдВрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХ рдмреБрджреНрдзрд┐рдорд╛рди рд╣реИ рдФрд░ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ (рдЬреИрд╕реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ) рдХреЗ рд▓рд┐рдП рдЗрдВрддрдЬрд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдорджрдж рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ! рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЬрдмрдХрд┐ (! M_bTerminate) рд▓реВрдк рдХреЛ рдЕрдирдзрд┐рдХреГрдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдкреВрд░рд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ, рджреВрд╕рд░реЗ рдзрд╛рдЧреЗ рд╕реЗ рдорд╛рдВрдЧреА рдЧрдИ RequestTermination () рд╡рд┐рдзрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реБрдП, m_bTerminate рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдореИрдВрдиреЗ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕рдХреЗ рдХрд╛рд░рдгреЛрдВ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рдЗрд╕рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдереНрд░реЗрдбреНрд╕ рдХреЗ рдмреАрдЪ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд╛рд░рдВрдЯреАрдХреГрдд рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рдкрд░рдорд╛рдгреБ, рдШрдЯрдирд╛, рдпрд╛ рдХреБрдЫ рдЗрд╕реА рддрд░рд╣ред
рд╣рд╛рдВ, рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрд▓реАрдкрдПрдХреНрд╕ рдХреЛ рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдмреВрд▓рд┐рдпрди рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд▓рд┐рдП рджреЛрд╖ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдПрдХ рдЕрдиреНрдп рд╡рд░реНрдЧ рдХреА рдПрдХ рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕ рдХреЛрдб рдореЗрдВ рдпрд╣ рдХреНрдпреЛрдВ рд╕рдВрднрд╡ рд╣реЛ рдЧрдпрд╛? рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдиреЗ рд╕реЛрдЪрд╛ рдерд╛ рдХрд┐ "рдЖрдкрдХреЛ рдпрд╣рд╛рдВ рд╕реЛрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ", рдФрд░ рдлрд┐рд░ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдХрд┐ рдЗрд╕реЗ рдХрдм рддрдХ рдФрд░ рдХрд┐рд╕ рд╣рд╛рд▓рдд рдореЗрдВ рдХрд░рдирд╛ рд╣реИред рдФрд░ рд╕рд╣реА рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рдЙрд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдЪрд╛рд░ рднреА рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд┐рдЪрд╛рд░ рдореЗрд░реЗ рд╕рд┐рд░ рдореЗрдВ рд╣реБрдЖ рд╣реЛрдЧрд╛ "рдпрд╣рд╛рдБ рд╣рдореЗрдВ рдПрдХ рдШрдЯрдирд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП" - рдФрд░ рдЙрд╕ рдкрд▓ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдмреАрдЪ рдбреЗрдЯрд╛ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣реА рддрдВрддреНрд░ рдЪреБрдирдиреЗ рдХреА рджрд┐рд╢рд╛ рдореЗрдВ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реЛрдЧрд╛, рдЬреЛ рдмреВрд▓рд┐рдпрди рдЪрд░ рдФрд░ рд╕реНрд▓реАрдкрдПрдХреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЛ рдмрд╛рд╣рд░ рдХрд░ рджреЗрдЧрд╛ред
рдЦрд░рд╛рдм рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 4
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдо '' рдСрдЯреЛрд╕реИрд╡ '' рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдХрд┐ рдЕрдирдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛрдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡рд╣ 7 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕реЛрддрд╛ рд╣реИ, рдлрд┐рд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб рджреЗрддрд╛ рд╣реИ (рдпрджрд┐ рд╡реЗ рдереЗ)ред
DWORD WINAPI Notepad_plus::backupDocument(void * ) { ... while (isSnapshotMode) { ... ::Sleep(DWORD(timer)); ... ::PostMessage(Notepad_plus_Window::gNppHWND, NPPM_INTERNAL_SAVEBACKUP, 0, 0); } return TRUE; }
рдЕрдВрддрд░рд╛рд▓ рдХреЛ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рдХреЛрдИ рднреА рдЕрдВрддрд░рд╛рд▓ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдмрд╣реБрдд рд▓рдВрдмрд╛ рдФрд░ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╣рдо рдкреНрд░рддрд┐ рдорд┐рдирдЯ рдПрдХ рдЕрдХреНрд╖рд░ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдХреЗрд╡рд▓ 7 рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╕реЛрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рд╣рдо рдХрд╣реАрдВ рд╕реЗ 10 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдЯреЗрдХреНрд╕реНрдЯ рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдЙрд╕рдХреЗ рдмрд╛рдж 7 рд╕реЗрдХрдВрдб рдЗрдВрддрдЬрд╛рд░ рдирд╣реАрдВ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдпрд╣ рддреБрд░рдВрдд рдмреИрдХрдЕрдк рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реА рдкрд░реНрдпрд╛рдкреНрдд рдорд╛рддреНрд░рд╛ рд╣реИ (рдЕрдЪрд╛рдирдХ рд╣рдо рдЗрд╕реЗ рдХрд╣реАрдВ рд╕реЗ рдХрд╛рдЯ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╡рд╣рд╛рдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рдВрдкрд╛рджрдХ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рдмрд╛рдж рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдпрд╛рдиреА рд╕рд╛рдзрд╛рд░рдг рдЕрдкреЗрдХреНрд╖рд╛ рдХреЗ рд╕рд╛рде, рд╣рдо рдпрд╣рд╛рдВ рд▓рд╛рдкрддрд╛ рдЕрдзрд┐рдХ рдмреБрджреНрдзрд┐рдорд╛рди рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЦрд░рд╛рдм рдЙрджрд╛рд╣рд░рдг рд╕рдВрдЦреНрдпрд╛ 5
рдиреЛрдЯрдкреИрдб ++ "рдЯреЗрдХреНрд╕реНрдЯ рдЯрд╛рдЗрдк рдХрд░реЗрдВ" - рдЕрд░реНрдерд╛рдд рдкрддреНрд░ рд╕рдореНрдорд┐рд▓рди рдХреЗ рдмреАрдЪ рд░реБрдХрдХрд░ рдорд╛рдирд╡ рдкрд╛рда рдЗрдирдкреБрдЯ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░реЗрдВред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ "рдИрд╕реНрдЯрд░ рдПрдЧ" рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдХрд╛рдо рдХреЗ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВ (
рдЕрдкрд╡рд░реНрдХ рдХреЛ рдореВрд░реНрдЦ рдмрдирд╛рдирд╛, рд╣рд╛рдБ )ред
int pauseTimeArray[nbPauseTime] = {200,400,600}; const int maxRange = 200; ... int ranNum = getRandomNumber(maxRange); ::Sleep(ranNum + pauseTimeArray[ranNum%nbPauseTime]); ::SendMessage(pCurrentView->getHSelf(), SCI_DELETEBACK, 0, 0);
рдпрд╣рд╛рдВ рдкрд░реЗрд╢рд╛рдиреА рдпрд╣ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХреБрдВрдЬреА рджрдмрд╛рдП рдЬрд╛рдиреЗ рдХреЗ рдмреАрдЪ рдХреЛрдб рдореЗрдВ 400-800 рдПрдордПрд╕ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ "рдФрд╕рдд рд╡реНрдпрдХреНрддрд┐" рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИред рдареАрдХ рд╣реИ, рд╢рд╛рдпрдж рдпрд╣ "рдФрд╕рдд" рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдореИрдВ рдЬрд┐рд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ рд╡рд╣ рдореЗрд░реЗ рдХрд╛рдо рдореЗрдВ рдХреБрдЫ рдард╣рд░рд╛рд╡ рджреЗрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЙрд╕рдХреЗ рд▓рд┐рдП рд╕реБрдВрджрд░ рдФрд░ рдЙрдкрдпреБрдХреНрдд рд▓рдЧрддреЗ рд╣реИрдВ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЙрд╕рдХреА рд░рд╛рдп рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВ рдард╣рд░рд╛рд╡ рдбреЗрдЯрд╛ рдХреА рдЕрд╡рдзрд┐ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдФрд░, рдЕрдЧрд░ рдиреЛрдЯрдкреИрдб ++ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ, рддреЛ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдореИрдВ рдХрднреА-рдХрднреА "рдЕрдкрдбреЗрдЯ рдбреЗрдЯрд╛: рдЕрдХреНрд╕рд░, рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╢рд╛рдпрдж рд╣реА рдХрднреА" рдЬреИрд╕реА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ рдЖрдпрд╛, рдЬрд╣рд╛рдВ "рдЕрдХреНрд╕рд░" рдореЗрд░реЗ рд▓рд┐рдП рдЕрдХреНрд╕рд░ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛, рдФрд░ "рд╢рд╛рдпрдж рд╣реА рдХрднреА" рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдерд╛ред рджреБрд░реНрд▓рднред рд╣рд╛рдВ, рдФрд░ "рд╕рд╛рдорд╛рдиреНрдп" рд╕рд╛рдорд╛рдиреНрдп рдирд╣реАрдВ рдерд╛ред рдЗрд╕ рддрд░рд╣ рдХреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕реЗ рд╡рд╣ рд╡рд╛рдВрдЫрд┐рдд рдХрд╛рд░реНрд░рд╡рд╛рдИ рдкреВрд░реА рд╣реЛрдиреЗ рддрдХ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред "0" рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╡рд╛рд░реНрдп рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рдеред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ 0 рдХреЛ рднреА рд╕реНрд▓реАрдк рдлрд╝рдВрдХреНрд╢рди рдХреЗ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЗрд╕рдХреА рдХреЙрд▓ рдХреЛ рдмрд╛рд╣рд░ рдХрд░реЗрдВ (рд╕реНрд▓реАрдк (0) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рддреБрд░рдВрдд рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╢реЗрдбреНрдпреВрд▓рд░ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рдЯрд╛рдЗрдо рд╕реНрд▓реЙрдЯ рдХреЗ рд╢реЗрд╖ рдЯреБрдХрдбрд╝реЗ рдХреЛ рджреВрд╕рд░реЗ рдзрд╛рдЧреЗ рдореЗрдВ рджреЗрддрд╛ рд╣реИ)ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╕реНрд▓реАрдк рдХреА рдорджрдж рд╕реЗ, рдХрд┐рд╕реА рдХреЛ рдПрдХ рдЙрдореНрдореАрдж рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЬрдм рд╡рд╣ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рдХреЗ рд▓рд┐рдП рдмрд┐рдирд╛ рд╢рд░реНрдд рд╕реМрдВрдкреА рдЧрдИ рдЕрдкреЗрдХреНрд╖рд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдХреБрдЫ рддрд╛рд░реНрдХрд┐рдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреНрдпреЛрдВ рд╣реИ: "рддрдХрдиреАрдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░", "рд╕рдордп рдЗрд╕ рд╕реВрддреНрд░ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИ", "рдЗрддрдирд╛ рдЗрдВрддрдЬрд╛рд░ рдЧреНрд░рд╛рд╣рдХ рдиреЗ рдХрд╣рд╛ред " рд╕реНрд▓реАрдк рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрдЫ рдШрдЯрдирд╛рдУрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдирд╛ рдпрд╛ рдереНрд░реЗрдбреНрд╕ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдирд╛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред