рдкреНрд░рд╛рд░рдВрдн рдмрдЯрди, рдЯрд╛рд╕реНрдХрдмрд╛рд░, рдШрдбрд╝реА рдЫрд┐рдкрд╛рдПрдБ

рдХрдИ рд╡рд┐рдВрдбреЛрдЬ рдПрдкреАрдЖрдИ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ , рдЖрдк рд╕реНрдЯрд╛рд░реНрдЯ рдмрдЯрди, рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдпрд╛ рдЗрд╕рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рддрддреНрд╡реЛрдВ рдХреЛ рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВрдиреЗ рд╡рд┐рдВрдбреЛрдЬ 98 / рдореА / рдПрдХреНрд╕рдкреА рдкрд░ рд╡рд┐рдЬреБрдЕрд▓ рдмреЗрд╕рд┐рдХ 6.0, рдбреЗрд▓реНрдлреА, рд╕реА ++, рд╡рд┐рдЬреБрдЕрд▓ рдмреЗрд╕рд┐рдХ.рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдерд╛ред рдЕрдм рдЖрдЗрдП рд╡рд┐рдВрдбреЛрдЬ 7 рдкрд░ рд╕реА # рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдореВрд▓реНрдп рдирд╣реАрдВ рд╣реИ, рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдордиреЛрд░рдВрдЬрди рдХреЗ рд▓рд┐рдПред рдлрд┐рд░ рднреА, рдЙрджрд╛рд╣рд░рдг рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рд╡рд╛рд▓реА рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдЕрдЪреНрдЫреЗ рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред

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


рд╡рд┐рдВрдбреЛ рд╣реИрдВрдбрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо рдЬрд╛рдирдирд╛ рд╣реЛрдЧрд╛ред

рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдХреЗ рд▓рд┐рдП, рдпрд╣ Shell_TrayWnd рдХреНрд▓рд╛рд╕ рд╣реИ
рд╕реНрдЯрд╛рд░реНрдЯ рдмрдЯрди рдХреЗ рд▓рд┐рдП - рдмрдЯрди
рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП - TrayNotifyWnd
рд╕рд┐рд╕реНрдЯрдо рдХреНрд▓реЙрдХ рдПрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП - TrayClockWClass


рд╣рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдЪреБрдиреМрддреАрдкреВрд░реНрдг рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред
[DllImport("user32.dll")] private static extern IntPtr FindWindow(string ClassName, string WindowName); [DllImport("user32.dll")] private static extern IntPtr FindWindowEx( IntPtr hwndParent, IntPtr hwndChildAfter, string className, string windowName); [DllImport("user32.dll")] private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); [DllImport("user32.dll")] [return: MarshalAs(UnmanagedType.Bool)] static extern bool SetWindowPos( IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, SetWindowPosFlags uFlags); 


рдЕрдм рдкреНрд░рддреНрдпреЗрдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХрдИ рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

 private IntPtr TaskbarHWnd; //    private IntPtr StartButtonHWnd; //    private IntPtr TrayNotifyHWnd; //    private IntPtr ClockHwnd; //     


рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддреИрдпрд╛рд░реА рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИрдВред рдЖрдк рдЯрд╛рд╕реНрдХрдмрд╛рд░ рддрддреНрд╡реЛрдВ рдХреЛ рдЫрд┐рдкрд╛рдирд╛ / рджрд┐рдЦрд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ

рдЯрд╛рд╕реНрдХрдмрд╛рд░

рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдХреЛ рдЫреБрдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕рдХреЗ рдбрд┐рд╕реНрдХреНрд░рд┐рдкреНрдЯрд░ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рд╢реЛрд╡рд┐рдВрдбреЛ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдВрдбреЛ рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ ред

 //    .     //     TaskbarHWnd = FindWindow("Shell_TrayWnd", null); // /   if (TaskbarHWnd != IntPtr.Zero) { ShowWindow(TaskbarHWnd, show ? SW_SHOW : SW_HIDE); } show = !show; 

рдмрдЯрди рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ

рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╣рдо рдкрд┐рдЫрд▓реЗ рдХреЛрдб рдХреЛ рдХреЗрд╡рд▓ рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдХреЛ рдЫрд┐рдкрд╛рддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ START рдмрдЯрди рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рдВрдбреЛрдЬ 98 / XP рдореЗрдВ START рдмрдЯрди рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдерд╛ рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЫрд┐рдкрд╛ рд╣реБрдЖ рдерд╛ (рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╛рдж рд╣реИ, рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЖрдпрддрд╛рдХрд╛рд░ рдмрдЯрди рдерд╛)ред рдмрдЯрди рдХреЛ рдЫреБрдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлрд┐рд░ рд╕реЗ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

 StartButtonHWnd = FindWindow("Button", null); if (StartButtonHWnd != IntPtr.Zero) { //ShowWindow(StartButtonHWnd, show ? SW_SHOW : SW_HIDE); //   Windows XP SetWindowPos(StartButtonHWnd, IntPtr.Zero, 0, 0, 0, 0, show ? SetWindowPosFlags.SWP_SHOWWINDOW : SetWindowPosFlags.SWP_HIDEWINDOW); } 


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

рддрджрдиреБрд╕рд╛рд░, рдЖрдк рдХреЗрд╡рд▓ рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдХреЛ рд╕реНрдкрд░реНрд╢ рдХрд┐рдП рдмрд┐рдирд╛ рдХреЗрд╡рд▓ START рдмрдЯрди рдЫрд┐рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░

рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░ рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдХреЗ рд╕рдорд╛рди рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЫрд┐рдкрд╛ рд╣реБрдЖ рд╣реИред

 TaskbarHWnd = FindWindow("Shell_TrayWnd", null); TrayNotifyHWnd = FindWindowEx(TaskbarHWnd, IntPtr.Zero, "TrayNotifyWnd", null); //    ShowWindow(TrayNotifyHWnd, show ? SW_HIDE : SW_SHOW); show = !show; 


рдШрдбрд╝реА

рдкрд┐рдЫрд▓реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рд╣рдордиреЗ рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдШрдбрд╝реА рдХреЗ рд╕рд╛рде рдЫрд┐рдкрд╛ рджрд┐рдпрд╛ред рдХреЗрд╡рд▓ рдШрдбрд╝реА рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдзрд┐рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдЫреВрдиреЗ рдХреЗ рдмрд┐рдирд╛, рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рд╣рдо рд╕реВрдЪрдирд╛ рдХреНрд╖реЗрддреНрд░ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдЗрд╕рдХреА рдЪрд╛рдЗрд▓реНрдб рд╡рд┐рдВрдбреЛ TrayClockWClass рдкрд╛рддреЗ рд╣реИрдВ

 TaskbarHWnd = FindWindow("Shell_TrayWnd", null); TrayNotifyHWnd = FindWindowEx(TaskbarHWnd, IntPtr.Zero, "TrayNotifyWnd", null); //    ClockHwnd = FindWindowEx(TrayNotifyHWnd, IntPtr.Zero, "TrayClockWClass", null); //    ShowWindow(ClockHwnd, show ? SW_HIDE : SW_SHOW); show = !show; 

рдЫрд╡рд┐

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


All Articles