MC.exe (рд╕рдВрджреЗрд╢ рд╕рдВрдХрд▓рдХ), rc.exe, link.exe рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред EventMessageFile рдХреЗ рд▓рд┐рдП

рд╢реБрдн рджреЛрдкрд╣рд░, рд╣реЗрдмрд░ рдХреЗ рдкреНрд░рд┐рдп рдкрд╛рдардХреЛрдВред рдпрд╣ рдкреЛрд╕реНрдЯ рдПрдХ рдЧрддрд┐рд╢реАрд▓ .dll рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ Windows рдЗрд╡реЗрдВрдЯ рд╡реНрдпреВрдЕрд░ \ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ рд╕реЗрд╡рд╛ рд▓реЙрдЧреНрд╕ рдореЗрдВ рд╕реНрдерд┐рдд рдХрд╕реНрдЯрдо рд▓реЙрдЧрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдВрджреЗрд╢ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ)ред



рдХрд╕реНрдЯрдо рд▓реЙрдЧ рдореЗрдВ, рдЖрдк рдЕрдХреНрд╕рд░ рдЙрди рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:



рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ yyyy рдЗрд╡реЗрдВрдЯ рд╕реНрд░реЛрдд рдореЗрдВ ID рдФрд░ рд╡рд┐рд╡рд░рдг рдХрд╛ рдЖрд╡рд╢реНрдпрдХ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИред

рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:

1. рдирд┐рдореНрди рдкрде рдореЗрдВ regedit рдЦреЛрд▓реЗрдВ: HKLM \ SYSTEM \ CurrentControlSet \ Services \ EventLog рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ рд╡рд┐рднрд╛рдЬрди рдореМрдЬреВрдж рд╣реИред

2. EventMessage.txt рдмрдирд╛рдПрдБ рдЬрд┐рд╕рдореЗрдВ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд░рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП msdn , рдЖрд╡рд╢реНрдпрдХ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ Windows-1251 рдпрд╛ рдпреВрдирд┐рдХреЛрдб рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рдФрд░ EventMessage.mcред

рдиреЛрдЯ: рдЬрдм рдЕрдкрдиреА ID рдФрд░ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде EventMessage рднрд░рддреЗ рд╣реИрдВ, рддреЛ рд╡рд┐рд╡рд░рдг рдХреЗ рдмрд╛рдж ALWAYS , рдПрдХ рдирдИ рд▓рд╛рдЗрди рдкрд░ рдПрдХ рдбреЙрдЯ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рдХреЗ рдмрд╛рдж рдЧрд╛рдбрд╝реА рдХреЛ рдПрдХ рдирдИ рд▓рд╛рдЗрди рдкрд░ рд░рдЦрддреЗ рд╣реИрдВред

рдПрдХ рдЙрджрд╛рд╣рд░рдг:

MessageId=0x1 SymbolicName=CAT_1 Language=English OutDescription for your application . MessageId=0x2 

рдпрджрд┐ рдЖрдк рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдХрд▓рди рдХреЗ рджреМрд░рд╛рди рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред

3. рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд░реВрдк рдореЗрдВ cmd тАЛтАЛрдЪрд▓рд╛рдПрдБред

4. рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ: mc.exe -u C: \ SomeFolder \ eventMessage.mc -r C: \ SomeFolder рдмрдЯрди рдХрд╛ рдкрд░рд┐рдгрд╛рдо

рдиреЛрдЯ : mc.exe, рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, C:\Program Files (x86)\Windows Kits\10\bin\10.0.16299.0\x86 рдмрдЬрд╛рдп -u (Unicode) рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рдЖрдк -A (W-1251 ANSI, ) рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ -A (W-1251 ANSI, ) , рдФрд░ -r рд╡рд┐рдХрд▓реНрдк рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдерд╛рди рд╣реИ рдЬрд╣рд╛рдВ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред

рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛: рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓ рдФрд░ EventMessage.rc рдлрд╝рд╛рдЗрд▓ рдореЗрдВ C: \ SomeBolder рдХрд╛ рдкрд░рд┐рдгрд╛рдо

5. рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ: rc.exe C: \ SomeFolder \ result \ eventMessage.rc

рдиреЛрдЯ : rc.exe mc.exe рдХреЗ рд╕рдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИред

рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, EventMessage.res рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдИ рдЬрд╛рдПрдЧреА, рдЬреЛ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред

6. рдХрдорд╛рдВрдб рдЪрд▓рд╛рдПрдБ: link.exe -dll -noentry /out:C:\SomeFolder\result\OurMessageSet.dll C: \ SomeFolder \ result \ eventMessage.resред

рдиреЛрдЯ: link.exe рд╕реНрдерд┐рдд рд╣реИ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдореЗрдВ, C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\SDK\ScopeCppSDK\VC\bin

7. рдмрдзрд╛рдИ, рд╣рдордиреЗ рдЖрдкрдХреЗ рд╕рд╛рде рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдкреНрд░рддреАрдХреНрд╖рд┐рдд рдкреБрд╕реНрддрдХрд╛рд▓рдп рдмрдирд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдм рдирд╣реАрдВ рд╣реИред рд╣рдо рдЪрд░рдг 1 рд╕реЗ рдЕрдкрдиреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд▓рд┐рдП regedit рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдлрд╝реАрд▓реНрдб рдореЗрдВ, рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреИрд░рд╛рдореАрдЯрд░ (рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди) рдмрдирд╛рдПрдБ, рдЗрд╕ рдирд┐рд░реНрдорд╛рдг рдХреЛ EventMessageFile рдореЗрдВ рдирд╛рдорд╛рдВрдХрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдорд╛рди рдореЗрдВ рд╣рдорд╛рд░реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд▓рд┐рдП рдкрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ: C: \ SomeFolder's / \ OurMessageSet.dllред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:



рдЙрдкрдХрд░рдг рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреА: mc.exe, rc.exe, link.exeред

рдмрд▓ рдЖрдкрдХреЗ рд╕рд╛рде рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

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


All Articles