рдХреАрдмреЛрд░реНрдб рдЗрдирдкреБрдЯ IME рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рдкрд░рд┐рдЪрдп


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

рдбрд┐рдлрд╝реЙрд▓реНрдЯ IME рд╕рд┐рд╕реНрдЯрдо


рдпрджрд┐ рднрд╛рд╖рд╛ рд╕рдВрд╕реНрдХреГрддрд┐ рдореЗрдВ 100 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдг рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рдХреАрдмреЛрд░реНрдб рд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдХрдИ рд╡рд░реНрдгреЛрдВ рдХреЛ рдПрдХ рд╡рд░реНрдг рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдЯрд╛рдЗрдкрд░рд╛рдЗрдЯрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдерд╛ред рдЖрдзреБрдирд┐рдХ рдХреАрдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП, рдпрд╣ рдирд┐рдпрдо рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, QWERTY рдХреАрдмреЛрд░реНрдб рдореЗрдВ 102 рдХреБрдВрдЬреА рдФрд░ рдХрдИ рд╕рдВрд╢реЛрдзрдХ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рднрд╛рд╖рд╛ рдореЗрдВ 100 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрдг рд╣реИрдВ, рддреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╡рд░реНрдгреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд░реВрдкрд╛рдВрддрд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ "рд╕рдВрдЪрд╛рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛" (рдПрдлрдИрдкреА) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЖрдИрдПрдордИ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдПрдлрдИрдкреА рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рддрд░реАрдХрд╛ рд╣реИред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, IME рдЪрдпрдирд┐рдд рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдмреНрджрд╛рдВрд╢ рдзреНрд╡рдиреНрдпрд╛рддреНрдордХ рдЗрдирдкреБрдЯ рдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реИрдЯрд┐рди рд╡рд░реНрдгреЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╢рдмреНрджрд╛рдВрд╢ рдХреЗ рдЙрдЪреНрдЪрд╛рд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ IME рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╢рдмреНрджрд╛рдВрд╢ рдХреЛ рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрди рд╢рдмреНрджреЛрдВ рдпрд╛ рд╡рд╛рдХреНрдпрд╛рдВрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рдирд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рдЪреБрди рд╕рдХрддрд╛ рд╣реИред рдЪрдпрдирд┐рдд рд╢рдмреНрдж рдХреЛ Microsoft Windows рд╕рдВрджреЗрд╢реЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрд╡реЗрджрди рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ - WM_CHARред рдЪреВрдВрдХрд┐ IME рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдХреАрдмреЛрд░реНрдб рдЗрдирдкреБрдЯ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдХреЗ) рд╕реЗ рдХрдо рд╕реНрддрд░ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, IME рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛрддреА рд╣реИред рд▓рдЧрднрдЧ рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдВрдбреЛрдЬрд╝ рдЖрд╕рд╛рдиреА рд╕реЗ рдЖрдИрдПрдордИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдиреЗ рдФрд░ рд╡рд┐рд╢реЗрд╖ рдХреЛрдбрд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ред
рдЪреБрдиреЗ рд╣реБрдП рднрд╛рд╖рд╛ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рд╢рдмреНрдж рдХреЛ рджреЛ рдпрд╛ рддреАрди рдЪрд░рдгреЛрдВ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд╛рдкрд╛рдиреА рднрд╛рд╖рд╛ рдХреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ:
  1. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд▓реИрдЯрд┐рди рднрд╛рд╖рд╛ рдореЗрдВ рд╢рдмреНрджрд╛рдВрд╢реЛрдВ рдХреЗ рдкрджрдирд╛рдо рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рд╕реБрдирд╛рдореА" рд╢рдмреНрдж рдХреЛ "рд╕реБрдирд╛рдореА" рдХреЗ рд░реВрдк рдореЗрдВ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рд▓реИрдЯрд┐рди рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд┐рдП рдЧрдП рд╢рдмреНрджрд╛рдВрд╢реЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╣реАрд░рд╛рдЧрд╛рдирд╛ рдпрд╛ рдХрддрдХрдирд╛ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реАрд░рд╛рдЧрд╛рдирд╛ рдФрд░ рдХрдЯрдХрд╛рдирд╛ рд╢рдмреНрджрд╛рдВрд╢ рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рдЬрд╛рдкрд╛рдиреА рднрд╛рд╖рд╛ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдзреНрд╡рдирд┐ рдХрд╛ рдЕрдкрдирд╛ рдЪрд░рд┐рддреНрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╣реАрд░рд╛рдЧрд╛рдирд╛ рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: "рддреНрд╕реВ" рдХреЛ "h", "рдирд╛" -> "-", "рдореАрд▓" -> "уБ┐" рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  3. рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реАрд░рд╛рдЧрд╛рдирд╛ рдореЗрдВ рджрд░реНрдЬ рд╢рдмреНрдж рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЪрд┐рддреНрд░рд▓рд┐рдкрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рдЗрд░реЛрдЧреНрд▓рд┐рдлрд╝ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ T9 рдЗрдирдкреБрдЯ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдорд╛рди рд╣реИ: рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕реВрдЪреА рдХреА рдкреЗрд╢рдХрд╢ рдХреА рдЬрд╛рддреА рд╣реИ рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЙрд╕реЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдирд╛ рд╣реЛрдЧрд╛ред рдПрдХ рд╣реАрд░рд╛рдЧрд╛рдирд╛ рдХреЗ рд╕реБрдирд╛рдореА рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, уБк ami s hieroglyphs ami ami рдореЗрдВ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИред рддреАрд╕рд░реЗ рдЪрд░рдг рдореЗрдВ, рдЖрдк рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрдорддреМрд░ рдкрд░ "рд╕реНрдкреЗрд╕", "рдПрдВрдЯрд░", рдПрд░реЛ, "рдирдВрдмрд░рдкреИрдб" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдВрддрд░рд┐рдХреНрд╖ рд╣реАрд░рд╛рдЧрд╛рдирд╛ рд╕реЗ рдЪрд┐рддреНрд░рд▓рд┐рдкрд┐ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдПрдХ рдЕрдиреНрдп рд╕реНрдерд╛рди рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реВрдЪреА рджрд┐рдЦрд╛рддрд╛ рд╣реИ, "рдПрдВрдЯрд░" рдХрд╛ рдЕрд░реНрде рд╣реИ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ рдФрд░ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╡рд░реНрдгреЛрдВ рдХреЛ "рдЬреИрд╕рд╛ рд╣реИ" рдЫреЛрдбрд╝ рджреЗрдВред



рдкрд╣рд▓рд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рд░рдЪрдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ" (рдПрдиред "рд╕рдВрд░рдЪрдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ") рдирд╛рдордХ рд╡рд░реНрдгреЛрдВ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдореЗрдВ рдХреИрд╕реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рджреЛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкреНрд░рддреАрдХреЛрдВ рдХрд╛ рдХреНрд░рдо рдиреЛрдЯрдмреБрдХ рдореЗрдВ рдПрдХ рдкреНрд░рддреАрдХ "рдПрдл" рдореЗрдВ рдмрджрд▓ рдЧрдпрд╛ рдерд╛ред
рджреВрд╕рд░рд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╕рд┐рд▓реЗрдмрд▓реНрд╕ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд▓рд┐рдпрд╛ рд╣реИ, рдФрд░ IME рд╕рд┐рд╕реНрдЯрдо рд╕реБрдЭрд╛рд╡ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреБрдХреНрдд рд╢рдмреНрдж (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рд╕реНрдкреЗрд╕" рджрдмрд╛рдпрд╛ рдЬрд╛рдП)ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдПрдВрдЯрд░" рджрдмрд╛рдХрд░ рд╢рдмреНрдж рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рд╢рдмреНрдж рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП "рдПрдиреНрдЯрд░" рджрдмрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдиреЛрдЯрдкреИрдб) WM_IME_CHAR рд╕рдВрджреЗрд╢ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рдгрд╛рдореА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж, рдпрджрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ IME рдкреНрд░рдгрд╛рд▓реА рд╕реЗ рдПрдХ рдорд╛рдирдХ WM_CHAR рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ IME рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдВ



рдЖрдорддреМрд░ рдкрд░, рдЖрдИрдПрдордИ рд╡рд┐рдВрдбреЛрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ (WinAPI рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)ред
рдиреЛрдЯ: рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреВрд░реНрдг рд╕реНрдХреНрд░реАрди рдореЛрдб рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдкреНрд░рдерд╛рдЧрдд рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЗрдо рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ рд╡рд┐рдВрдбреЛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдкрдиреЗ рдЖрдк рд╣реА IME рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IME рд╡рд┐рдВрдбреЛ рдкрд░ рдирд┐рд░реНрднрд░ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди IME рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдХреЗ рдФрд░ рдЗрдирдкреБрдЯ рд╡рд┐рдзрд┐ рдкреНрд░рдмрдВрдзрдХ (IMM) рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдХреЗ рд╕реАрдзреЗ IME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдЬрдм рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрдЯрд┐рд▓ рд╡рд░реНрдгреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП IME рд▓реЗрдЖрдЙрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддреЛ IMM рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕рдВрджреЗрд╢ рднреЗрдЬрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдШрдЯрдирд╛рдУрдВ рд╕реЗ рдЕрд╡рдЧрдд рдХрд░рд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЬреИрд╕реЗ рдХрд┐ рдХрдВрдкреЛрдЬрд┐рд╢рди рд╡рд┐рдВрдбреЛ рдХрд╛ рд▓реЙрдиреНрдЪ рдпрд╛ "рд╢рдмреНрдж рдЙрдореНрдореАрджрд╡рд╛рд░реЛрдВ рдХреА рд╕реВрдЪреА рджрд┐рдЦрд╛рдПрдВ"ред рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдорддреМрд░ рдкрд░ рдЗрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрджреЗрд╢ рд╣реИрдВрдбрд▓рд░ рдХреЛ рднреЗрдЬрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдИрдПрдордИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд░реЗрдЦ (рдЫрд╡рд┐ 2) рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдкрд╛рда рдЗрдирдкреБрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рд╣реЛрддреА рд╣реИ:
  1. рдЬрдм IMM рдХреАрдмреЛрд░реНрдб рдбреНрд░рд╛рдЗрд╡рд░ рд╕реЗ рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ ImeProcessKK рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ IME рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╡рд░реНрдЪреБрдЕрд▓ рд╡рд░реНрдг рднреЗрдЬрддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкрд░рд┐рдгрд╛рдо "0" рд╣реИ, рддреЛ рдХреАрд╕реНрдЯреНрд░реЛрдХ рдХреЛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдФрд░ рдЕрдкрдиреЗ рджрдо рдкрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рдВрджреЗрд╢ WM_KEYDOWN рдФрд░ WM_KEYUP, рдФрд░ рдлрд┐рд░ WM_CHAR рдпрд╛ WM_COMMAND рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
  2. рдпрджрд┐ IME рд╕рд┐рд╕реНрдЯрдо "0" рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдкрд░рд┐рдгрд╛рдо рджреЗрддрд╛ рд╣реИ, рддреЛ IMM рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ "ImeToAsciiEx" рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реБрдП, рджрдмрд╛рдП рдЧрдП рд╡рд░реНрдгреЛрдВ рдХреЛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ред
  3. IME рд╕рд┐рд╕реНрдЯрдо "lpdwTransBuf" рдкреИрд░рд╛рдореАрдЯрд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред IME рд╕рд┐рд╕реНрдЯрдо hIMC рдХреЛ рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╣рд╛рдВ "рд╕рдВрд░рдЪрдирд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ" рдЗрдВрдЧрд┐рдд рдХреА рдЧрдИ рд╣реИред рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, IME рд╕рд┐рд╕реНрдЯрдо hIMC рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред
  4. рд╣рд░ рдмрд╛рд░ IMM "lpdwTransBuf" рдкреИрд░рд╛рдореАрдЯрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рдмрдлрд╝рд░ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рдПрдХ рдмрдлрд░ рдореЗрдВ WM_IME_COMPOSITION рд╕рдВрджреЗрд╢ рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рд░рдЪрдирд╛ рд▓рд╛рдЗрди рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рднреЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
  5. рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди IME рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╡рд╣ WM_IME_COMPOSITION рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджрд░реНрдЬ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рд╕рдВрджреЗрд╢ рдХреЛ IME UI рд╡рд┐рдВрдбреЛ рдХреЗ рд▓рд┐рдП рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЬреЛ "ImeInquire" рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди IME рд╕рд┐рд╕реНрдЯрдо рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ), рдЬреЛ рд╣рдореЗрд╢рд╛ IME рд╕рдХреНрд░рд┐рдп рд╣реЛрдиреЗ рдкрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред IME рд╡рд┐рдВрдбреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рджрд░реНрдЬ рдХреА рдЧрдИ рд░рдЪрдирд╛ рд▓рд╛рдЗрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧреАред
  6. рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди IME рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ WM_IME_COMPOSITION рд╕рдВрджреЗрд╢ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдЧрд╛ред рдпрджрд┐ рдЖрдк рдХрдВрдкреЛрдЬрд╝рд┐рд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА "Imm32.dll" рд╕реЗ рдлрд╝рдВрдХреНрд╢рди "ImmGetCompositionString" рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред WM_IME_COMPOSITION рд╕рдВрджреЗрд╢ рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рднреА рд╕реВрдЪрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЙрддреНрдкрдиреНрди рд╣реБрдИ рд╣реИред
  7. рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ IMM рд╕реЗ рдХрдВрдкреЛрдЬрд╝рд┐рд╢рди рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИ, рддреЛ рдЙрд╕реЗ WM_IME_CHAR рд╕рдВрджреЗрд╢ рдХреЗ рд▓рд┐рдП DefWindowProc рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЖрдЧреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЗрд╕ рд╕рдВрджреЗрд╢ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░ рд╕рдХрддреА рд╣реИред
  8. рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди IME рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ WM_IME_CHAR рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдпреВрдирд┐рдХреЛрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпреВрдирд┐рдХреЛрдб рдЪрд░рд┐рддреНрд░ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ WM_CHAR рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдкрддрд╛ рдЪрд▓реЗрдЧрд╛ рдХрд┐ рдЪрд░рд┐рддреНрд░ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред
  9. рдирддреАрдЬрддрди, рдЖрд╡реЗрджрди рд╣рдореЗрд╢рд╛ WM_CHAR рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЪрд░рд┐рддреНрд░ рдХреЛ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдирд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред


IME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдПрдХ рдирд┐рдпрдорд┐рдд DLL рдлрд╝рд╛рдЗрд▓ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдПрдХреНрд╕рдЯреЗрдВрд╢рди ".ime" рдХреЗ рд╕рд╛рдеред рдкреНрд░рддреНрдпреЗрдХ IME рд╕рд┐рд╕реНрдЯрдо рдХреЛ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ Microsoft Windows рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: "HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet00X \ Keyboard рд▓реЗрдЖрдЙрдЯ"ред рдХрд┐рд╕реА рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП, рдЖрдк рд╣рдореЗрд╢рд╛ рдЗрд╕рдХрд╛ рдХреАрдмреЛрд░реНрдб рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЖрдИрдПрдордИ рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рд╛


рдкреНрд░рддреНрдпреЗрдХ рдХреАрдмреЛрд░реНрдб рд▓реЗрдЖрдЙрдЯ, рдЬрд┐рд╕рдореЗрдВ IME рд╕рд┐рд╕реНрдЯрдо рд╢рд╛рдорд┐рд▓ рд╣реИ, рдХреЛ рд╣рдореЗрд╢рд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╣рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреАрдмреЛрд░реНрдб рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓реЛрдбрд┐рдВрдЧ рдХреЛ рдЙрд╕рдХреЗ рдкрддреЗ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд░реЛрдХ рдирд╣реАрдВ рд╕рдХрддрд╛ рд╣реИред рд╡рд┐рдВрдбреЛрдЬ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреА рддрд░рд╣ рдЖрдИрдПрдордИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрдИ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд╛рде рд╣реА, рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, DLLMain рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд╣рдореЗрд╢рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Keylogger рдЬреИрд╕реЗ рд╣рдорд▓реЗ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдХрд┐рд╕реА рднреА рдХреАрдмреЛрд░реНрдб рд▓реЗрдЖрдЙрдЯ рдХреЗ рд▓рд┐рдП рдЕрдкрдирд╛ IME рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, IME for US, UK, RU, CH, JP, KR), рдЬреЛ рд╡рд┐рдВрдбреЛрдЬрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд░реНрдгреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрджреГрд╢реНрдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, IMM рдкреНрд░рдмрдВрдзрдХ рд╣рдореЗрд╢рд╛ IME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП ImeProcessKey рдФрд░ ImeToAsciiEx рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ, рдЪрдпрдирд┐рдд IME рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреАрд╕реНрдЯреНрд░реЛрдХ рдХреЛрдб рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИред
рдХреАрд╕реНрдЯреНрд░реЛрдХреНрд╕ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ "рдЗрдореАрдкреНрд░реЛрд╕реЗрдХреЗ" рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдЬреЛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЪрд░рд┐рддреНрд░ рдХреЗ рд▓рд┐рдП рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рдЖрдЧреЗ рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ "0" рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреНрдпреЛрдВрдХрд┐ IME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рд╕рднреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╛рдирдХ рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрджрд┐рдЧреНрдз рдЧрддрд┐рд╡рд┐рдзрд┐ рдХреЛ рдиреЛрдЯрд┐рд╕ рдирд╣реАрдВ рдХрд░ рдкрд╛рдПрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, IME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЕрд▓рдЧ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА)ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЕрдЧрд░ ImeProcessKey рд╢реВрдиреНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдорд╛рди рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рддреЛ ImeToAsciiEx рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреБрдВрдЬреА рдХреИрдкреНрдЪрд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рдВрдЫрд┐рдд рдХреБрдВрдЬреА рдореЗрдВ рдЪрд░рд┐рддреНрд░ рдХреЗ рд▓рд┐рдП рджрдмрд╛рдП рдЧрдП рдХреБрдВрдЬреА рдХреЗ рд╕реНрдХреИрди рдХреЛрдб рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдЬреЛ рдПрдХ рддреБрдЪреНрдЫ рдСрдкрд░реЗрд╢рди рд╣реИред

рдЕрдзрд┐рдХ рдирд┐рдВрджрдиреАрдп рдХрд╛рд░реНрдп

рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд (рдХрд╛рдиреВрдиреА) IME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рдЯрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрджрд┐ IME рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╕рд╛рдЗрдмрд░ рдЕрдкрд░рд╛рдзрд┐рдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рдереА, рддреЛ рдЗрд╕реЗ рдХрд╛рдиреВрдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрдЬрд╛рдп рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЦрддрд░реЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ:

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


All Articles