рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫрд┐рдкрд╛рдирд╛

рдкрд╣рдЪрд╛рди

рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдФрд░ рдЖрднрд╛рд╕реАрддрд╛ рджреЛрдиреЛрдВ рдореЗрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рдлрд▓ рдирд┐рд╖реНрдкрд╛рджрди рдореЗрдВ рдЕрдХреНрд╕рд░ рдЧреБрдордирд╛рдореА рдФрд░ рдЧреЛрдкрдиреАрдпрддрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреА рд╣реИред рдпрд╣ рдЖрд▓реЗрдЦ рдУрдПрд╕ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдЕрдирд╛рдо рдмрдирдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реЗрдЧрд╛ред рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗрд╡рд▓ рд╕реВрдЪрдирд╛ рдХреЗ рдкреНрд░рдпреЛрдЬрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИред

рдЗрд╕рд▓рд┐рдП, рд╣рдо Windows рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЖрдВрдЦреЛрдВ рд╕реЗ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╣рдо рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗ, рд╡рд╣ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдмреЗрд╣рдж рд╕рд░рд▓ рд╣реИ рдЬреЛ рдкрд░рдорд╛рдгреБ (рдЕрдХреНрд╕рд░ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ) рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдбреНрд░рд╛рдЗрд╡рд░ рдмрдирд╛рдиреЗ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИрдВред
рд╡рд┐рдзрд┐ рдХрд╛ рд╕рд╛рд░: рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ -> рдЗрд╕рдореЗрдВ рдПрдХ рдЪрд╛рдЗрд▓реНрдб рд╡рд┐рдВрдбреЛ (рд╕реВрдЪреА) рдХреЗ рд▓рд┐рдП рдЦреЛрдЬреЗрдВ рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд╛рдо рд╣реЛрдВ -> рд╕реВрдЪреА рд╕реЗ рд╣рдорд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрдВред


рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдорд╛рд░реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЛрдИ рд╣реЗрд░рдлреЗрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛: рдЗрд╕рдиреЗ рдХрд╛рдо рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдЦреБрдж рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдЪреВрдВрдХрд┐ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рд╛рдзрд╛рд░рдг рд╡рд┐рдВрдбреЛрдЬ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЕрдкрдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЪрд▓ рд░рд╣реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд╣рдорд╛рд░реЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рдЪрд▓реЗрдЧрд╛ред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред

рдЕрдиреБрд╕рдВрдзрд╛рди рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:

1) Microsoft рд╕реЗ рдЬрд╛рд╕реВрд╕ ++ (рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдХреА рдмрд╛рд▓ рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреА рдкрджрд╛рдиреБрдХреНрд░рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)
2) рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕реНрдиреИрдкрд╢реЙрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдкреИрдЪрд░ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдУрд▓реАрдмреАрдбреАрдЬреА ред
3) рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЯрд╛рд╕реНрдХрдореЗрдиреНрдЧред Exe рд╣реА (рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░)

рд╣рдо рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрд▓реНрдлреА рдкрд░реНрдпрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдмрд▓реНрдХрд┐, C ++ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдбреЗрд▓реНрдлреА рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░реА рд╡рд┐рдирдореНрд░ рд░рд╛рдп рд╣реИред

рдЦреИрд░, рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ рдХрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИред рдПрдХ рдЖрдзреЗ рджреГрд╢реНрдп рд╕реЗ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдирд┐рдпрдорд┐рдд SysListView32 рд╡рд░реНрдЧ рд╡рд┐рдВрдбреЛ (рд╕реВрдЪреА) рд╣реИ, рдЬрд┐рд╕реЗ 2 рдлреНрд░реЗрдо рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб (рдкреНрд░рддреНрдпреЗрдХ 0.5 рд╕реЗрдХрдВрдб) рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣рдо рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЗ рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ:



рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, "SysListView32" рд╡рд░реНрдЧ рдХреА рдПрдХ рдирд┐рдпрдорд┐рдд рдЦрд┐рдбрд╝рдХреА рд╣реИ, рдЬреЛ "рдкреНрд░реЛрд╕реЗрд╕реЗрд╕" рд╡рд┐рдВрдбреЛ (рдЯреИрдм) рдХрд╛ рдПрдХ рдмрдЪреНрдЪрд╛ рд╣реИ, рдЬреЛ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдХреА рдореБрдЦреНрдп рд╡рд┐рдВрдбреЛ рдХрд╛ рдПрдХ рдмрдЪреНрдЪрд╛ рднреА рд╣реИред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рджреЛ рд╕реНрддрд░ рдХрд╛ рдШреЛрдВрд╕рд▓рд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реВрдЪреА рдореЗрдВ SysHeader32 рд╡рд░реНрдЧ рдХреА рдПрдХ рдмрд╛рд▓ рдЦрд┐рдбрд╝рдХреА рд╣реИ, рдЬреЛ, рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖рдХ (рдлрд╝реАрд▓реНрдб рдорд╛рд░реНрдХрд░) рд╣реИред
рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдирд┐рдпрдорд┐рдд рд╕реВрдЪреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдПрдХ рдкреВрд░рд╛ рд╕реЗрдЯ рд╣реИ ред рдкрд╣рд▓реА рдирдЬрд╝рд░ рдореЗрдВ, рдЙрдирдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рдЕрджреНрднреБрдд рд╣реИред рд▓реЗрдХрд┐рди рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реЗ рд╣реА рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН, рд╣рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдореВрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рд╣рд░ рдХреЛрдИ рдЗрд╕ рд╕рдВрдкрддреНрддрд┐ рдХреЗ рдкрд╛рд╕ рдирд╣реАрдВ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, ListView_DeleteItem рдореИрдХреНрд░реЛ, рдЬреЛ рд╕реВрдЪреА рд╡рд┐рдВрдбреЛ (SysListView32 рд╡рд░реНрдЧ) рд╕реЗ рдПрдХ рдЖрдЗрдЯрдо рдирд┐рдХрд╛рд▓рддрд╛ рд╣реИред
рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╣рдЯрд╛рдП рдЧрдП рдЖрдЗрдЯрдо рдХреЗ рд╕реВрдЪрдХрд╛рдВрдХ рдХреЛ рджреВрд╕рд░реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
рдЕрдм рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдХрд┐ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдореЗрдВ рдЫрд┐рдкреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рддрддреНрд╡ рдХреЛ рдХрд┐рд╕ рд╕реВрдЪрдХрд╛рдВрдХ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рд╕реЗ рд╕рднреА рддрддреНрд╡реЛрдВ (рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рд▓реЗрдмрд▓) рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреНрд░рдорд┐рдХ рд░реВрдк рд╕реЗ рдЙрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЫрд┐рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред

ListView_GetItemText рдЬреИрд╕реЗ рдореИрдХреНрд░реЛрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП , рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдВрдЧреЗ:

1) рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдореЗрдореЛрд░реА рдХрд╛ рдЖрд╡рдВрдЯрди ( VirtualAllocEx )
2) рдмрдЪреНрдЪреЗ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рд╕реВрдЪреА рдмреЙрдХреНрд╕ рдореЗрдВ LVM_GETITEMTEXT ( SendMessage ) рд╕рдВрджреЗрд╢ рднреЗрдЬрдирд╛
3) рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдХреЗ рдЖрд╡рдВрдЯрд┐рдд рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рд╕реВрдЪреА рдЖрдЗрдЯрдо ( WriteProcessMemory ) рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦрдирд╛
4) рдкреНрд░рдмрдВрдзрдХ рдХреА рд╕реНрдореГрддрд┐ рд╕реЗ рдкрдврд╝рдиреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЬреЛ рд╣рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддреА рд╣реИ ( ReadProcessMemory )


рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдХреЛрдб рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╡рд┐рднрд┐рдиреНрди рд╕рдВрд░рдЪрдирд╛рдУрдВ рдХреА рд╢реБрд░реБрдЖрдд рд╕реЗ рдСрдлрд╕реЗрдЯ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЧрд┐рдирддреА рдХрд░рдХреЗ "рдкреИрд░ рдореЗрдВ рдЦреБрдж рдХреЛ рдЧреЛрд▓реА рдорд╛рд░" рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рд╡рд┐рдзрд┐ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдХрдард┐рди рд╣реЛрдЧреА рдЬреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ WinAPI рдореЗрдВ рдЧрд╣рд░реЗ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рддреБрд░рдВрдд рдХрд┐рдирд╛рд░реЗ рдкрд░ рд╣рдЯрд╛ рджреЗрдВрдЧреЗред рдЕрдиреНрдп рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЗрд╕ рдкрджреНрдзрддрд┐ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЦреЛрдЬрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рдЕрдкрдиреА рд╕реВрдЪреА рдмрдирд╛рдПрдБ, рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕рдореЗрдВ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ, рдХрд╛рд░реНрдп рдкреНрд░рдмрдВрдзрдХ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкреЛрд╖рд┐рдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдХреА рддрд▓рд╛рд╢ рдХрд░реЗрдВред

Microsoft рдиреЗ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдирд╛рдордХ рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп WinAPI рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред рд╕рддрд╣реА рд░реВрдк рд╕реЗ рдЯрд╛рд╕реНрдХрдордВрдЬ ..exe рдкрд░ рдбрд┐рдмрдЧрд░ рдХреЗ рдиреАрдЪреЗ рджреЗрдЦреЗрдВ:



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

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рджреЛ рдЯрд╛рдЗрдорд░ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрдореЛ рд╡рд┐рдВрдбреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ: рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛрдЬ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ (рдкреНрд░рддреНрдпреЗрдХ рджреЛ рд╕реЗрдХрдВрдб рдореЗрдВ рдПрдХ рдмрд╛рд░) рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╛рди рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛; рджреВрд╕рд░рд╛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб 1000 рдмрд╛рд░ рдлрд╛рдпрд░ рдХрд░реЗрдЧрд╛ рдФрд░ рдбрд┐рд╕реНрдкреИрдЪрд░ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдХреЗ рдЕрдкрдбреЗрдЯ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реА рдЫрд┐рдкреА рд╣реБрдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред рдлреЙрд░реНрдо рдореЗрдВ рдПрдХ рдмрдЯрди рднреА рдЬреЛрдбрд╝реЗрдВред

рдХреЛрдб:

var ind:integer; h:Thandle; last_c:integer; procedure UpdateList(); var th:THandle; entry:PROCESSENTRY32; b:boolean; i,new_ind:integer; plist:TStringList; begin //   plist:=TStringList.Create; //    th := CreateToolHelp32SnapShot(TH32CS_SNAPPROCESS,0); entry.dwSize:=sizeof(PROCESSENTRY32); b:=Process32First(th,entry); while(b) do begin plist.Add(entry.szExeFile); b:=Process32Next(th,entry); end; //  ,    //   ,     plist.Sort; last_c:=plist.Count; //     'explorer.exe' for i:=1 to plist.Count-1 do if(LowerCase(plist[i])='explorer.exe') then new_ind:=i-1; //     if(new_ind<>ind) then ListView_DeleteItem(h,ind); ind:=new_ind; plist.Free; //        if(Form1.Timer2.Enabled=false) then Form1.Timer2.Enabled:=true; end; procedure TForm1.HideProcessButton(Sender: TObject); begin //     'SysListView32' h:=FindWindow(nil,'  Windows'); h:=FindWindowEx(h,0,nil,''); h:=FindWindowEx(h,0,'SysListView32',nil); //      Timer1.Enabled:=true; end; procedure TForm1.Timer1Timer(Sender: TObject); begin UpdateList(); end; procedure TForm1.Timer2Timer(Sender: TObject); begin //     if(ListView_GetItemCount(h)>last_c) then ListView_DeleteItem(h,ind); last_c:=ListView_GetItemCount(h); end; 


рдпрд╣рд╛рдБ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреВрд░рд╛ рдХреЛрдб рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдореЗрдВ рдЯрд╛рд╕реНрдХ рдореИрдиреЗрдЬрд░ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рдЫрд┐рдкрд╛рдПрдВ:

рдпрд╣рд╛рдБ рдпрд╣ рд╣реИ:



рдФрд░ "рдЫрд┐рдкрд╛рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛" рдмрдЯрди рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реВрдЪреА рд╕реЗ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддреА рд╣реИ:



рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рднреА рдирд┐рд╢рд╛рди рдорд┐рдЯрд╛ рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕реНрд╡рдпрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдХрд╣реАрдВ рд╕рд╛рдорд╛рдиреНрдп рддрд░реАрдХреЗ рд╕реЗ рдЪреБрдкрдЪрд╛рдк рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ :)

рдХрд┐рдпрд╛

рдЦреИрд░, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд░рд╛рд╕реНрддрд╛ рдореМрдЬреВрдж рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдорд╛рдореВрд▓реА рд╕рдВрд╢реЛрдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рд╛рдВ, рдмреЗрд╢рдХ, рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬ рдЯреВрд▓ рдореЗрдВ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИ, рдЬреЛ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд╢реЗрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рднреА рдЕрдЪреНрдЫрд╛ рд╣реИред
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдореИрдВ рдХрдо рд╕реЗ рдХрдо рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдЖрдкрдХреА рд░реБрдЪрд┐ рд░рдЦрдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣рд╛ред

рдЬрд▓реНрдж рдорд┐рд▓рддреЗ рд╣реИрдВ! рдФрд░ рдЧреБрдордирд╛рдореА рдХреА рддрд╛рдХрдд рдЖрдкрдХреЗ рд╕рд╛рде рд╣реЛ рд╕рдХрддреА рд╣реИ ...

Source: https://habr.com/ru/post/In180933/


All Articles