рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╣рдо рдореЗрдВ рд╕реЗ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧ рдЪрд╛рд╣рддреЗ рдереЗ рдХрд┐ рд╣рдорд╛рд░рд╛ рдкрд╕рдВрджреАрджрд╛ рдХрдВрдкреНрдпреВрдЯрд░ рд╕реБрдмрд╣ рд╣рдореЗрдВ рдЬрдЧрд╛рдП рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╕рдВрджреАрджрд╛ рдЧрд╛рдиреЗ (рдХрдо рд╕реЗ рдХрдо рдореИрдВ рдЪрд╛рд╣рддрд╛ рдерд╛) "рдЧрд╛рдПрдВ", рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реАрдЦрдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реА рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдпрд╣ рдХреИрд╕реЗ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛? рдореИрдВ рдЕрдкрдирд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реВрдВ - рдПрдХ рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА, рдпрд╣ рд╕реЗрдЯ рдХрд░реЗрдВ рдХрд┐ рдореБрдЭреЗ рдХрд┐рддрдиреЗ рдШрдВрдЯреЗ рдЬрд╛рдЧрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдХреМрди рд╕рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛рдирд╛ рд╣реИ (рдЯреЗрд▓реА, рдореНрдпреВрдЬрд┐рдХ ...) рдФрд░ рдкреАрд╕реА рдХреЛ рд╕реНрд▓реАрдк рдореЛрдб рдореЗрдВ рдбрд╛рд▓ рджреЗрдВ, рд╕рдордп рдХреЗ рдмрд╛рдж рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдУрдПрд╕ рдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рд╕рд┐рдЧреНрдирд▓ рджреЗрдирд╛ рдЪрд╛рд╣рд┐рдП "" рдпрд╣ рдорд╛рд▓рд┐рдХ рдХреЛ рдЬрдЧрд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ! тАЭрдФрд░ рдЬрд┐рд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореБрдЭреЗ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЙрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд░реЗрдВред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдлрд╝реНрд▓реЛрд░ рдХреЛ рд╣рд┐рд▓рд╛рдпрд╛, рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╣рд╛рдЗрдмрд░рдиреЗрд╢рди рдореЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрдИ рд▓реЗрдЦ рдкрдврд╝реЗрдВ, рдЬреЛ рдЗрд╕ рд╕рдордп рд╡рд┐рдВрдбреЛрдЬ рдУрдПрд╕ рдмрдирд╛рддрд╛ рд╣реИ, рдЖрджрд┐ред рд╡рд┐рднрд┐рдиреНрди рдордВрдЪреЛрдВ рдкрд░ рдкреНрд░рд╢реНрди рдкреВрдЫреЗ рдЧрдП рдФрд░ рд╡реЗ рд╕рднреА рдореБрдЭреЗ рдмрддрд╛ рд╕рдХрддреЗ рд╣реИрдВ "рдПрдХ рдЕрд▓рд╛рд░реНрдо рдШрдбрд╝реА рдлреЛрди рдкрд░ рд╣реИ, рдЖрдкрдХреЛ рдЗрд╕ рдмрд╡рд╛рд╕реАрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ" рдпрд╛ рдРрд╕рд╛ рдХреБрдЫ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдпрд╣ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдЧрд╛, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЙрдиреНрд╣реЛрдВрдиреЗ рдореБрдЭреЗ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреА
WOL рд╡рд╣рд╛рдБ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдпрд╣ рд╕рдм рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рджреВрд╕рд░реЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рд╕рд┐рдЧреНрдирд▓ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрд╣ рдЬрд╛рдЧрдирд╛ рдЪрд╛рд╣рд┐рдП! рд▓реЗрдХрд┐рди рдпрд╣ рдореБрдЭреЗ рд▓рдЧ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдирд┐рд░рд╛рд╢рд╛ рдирд╣реАрдВ рдХреА рдФрд░ WinAPI рдХреА рдУрд░ рдЪрд▓рд╛ рдЧрдпрд╛, рдФрд░ рдЕрдм рд╡рд╣ рдХреНрд╖рдг рд╕рдЪ рд╣реИ ... "рд╣реБрд░реНрд░реЗ, рдорд┐рд▓рд╛!"ред
рдХрд╛рдо рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреЗрд╡рд▓ рддреАрди WinAPI рдлрд╝рдВрдХреНрд╢рди рдФрд░ MSDN рд╕рд╣рд╛рдпрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред
рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИ!
1. рдПрдХ рдХрдВрд╕реЛрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдПрдВ;
2. рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╛рдорд╕реНрдерд╛рди рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ;
3. рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рд▓рд┐рдЦреЗрдВ;
4. рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБред
WinAPI рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
System.Runtime.InteropServices рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ рдФрд░ рд╣рдорд╛рд░реЗ API рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВ
[DllImport("kernel32.dll")] public static extern IntPtr CreateWaitableTimer(IntPtr lpTimerAttributes, bool bManualReset, string lpTimerName); [DllImport("kernel32.dll")] public static extern bool SetWaitableTimer(IntPtr hTimer, [In] ref long pDueTime, int lPeriod, IntPtr pfnCompletionRoutine, IntPtr lpArgToCompletionRoutine, bool fResume); [DllImport("kernel32", SetLastError = true, ExactSpelling = true)] public static extern Int32 WaitForSingleObject(IntPtr handle, uint milliseconds);
рдЕрдЧрд▓рд╛, рдПрдХ рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдВ рдЬреЛ рдЬрд╛рдЧрдиреЗ рддрдХ рд╕рдордп рдХреА рдЧрдгрдирд╛ рдХрд░реЗрдЧрд╛:
static IntPtr handle; static void SetWaitForWakeUpTime() { long duetime = -900000000; Console.WriteLine(", ! !); handle = CreateWaitableTimer(IntPtr.Zero, true, "MyWaitabletimer"); SetWaitableTimer(handle, ref duetime, 0, IntPtr.Zero, IntPtr.Zero, true); uint INFINITE = 0xFFFFFFFF; int ret = WaitForSingleObject(handle, INFINITE); System.Diagnostics.Process.Start("C:\Program Files\AIMP3\AIMP3.exe"); }
рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдХреЛрдб рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИ, рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп (рдпрд╛рдиреА, 100 рдиреИрдиреЛрд╕реЗрдХрдВрдб рдХреЗ рдЕрдВрддрд░рд╛рд▓ рдХреА рд╕рдВрдЦреНрдпрд╛), рдлрд┐рд░ рд╣рдордиреЗ рдПрдХ рдЯрд╛рдЗрдорд░ рдмрдирд╛рдпрд╛ рдЬреЛ рдЗрд╕ рд╕рдм рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж, рдЦрд┐рд▓рд╛рдбрд╝реА рдХреЛ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИред
рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдХрд┐рддрдирд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ред
рдирддреАрдЬрддрди, рд╣рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдорд┐рд▓рд╛ рдЬреЛ рд╣рдореЗрдВ рд╕реБрдмрд╣ рдЙрда рд╕рдХрддрд╛ рд╣реИ (рдкреНрд▓рд╕ рд╕рдм рдХреБрдЫ, рдпрд╣ рдПрдХ рд╕реБрдВрджрд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рдХрд▓рд╛)ред
рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдПрд░реНрдЧреЛрдиреЛрдорд┐рдХ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдм рдХреБрдЫ рдЖрдкрдХреЗ рд╣рд╛рдереЛрдВ рдореЗрдВ рд╣реИ, рдЖрдк рдЗрд╕реЗ WinForms рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХрд╛рд░реНрдп рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЛ рдПрдХ рдкреВрд░реНрдг рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдк рдореЗрд░реА рдкреЛрд╕реНрдЯ рдкрдврд╝рдиреЗ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!
PS рдпрджрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЖрдкрдХреЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐-рдореБрдХреНрдд рдерд╛, рддреЛ рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреА рдкрд╛рд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдореЗрдВ "рд╡реЗрдХ-рдЕрдк рдЯрд╛рдЗрдорд░ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ" рд╡рд┐рдХрд▓реНрдк рд╕рдХреНрд╖рдо рд╣реИред