рдЕрд╡рд╕рд░реЛрдВ
рдиреАрдЪреЗ рджреА рдЧрдИ рдХрдХреНрд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдореЙрдирд┐рдЯрд░реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдФрд░ рд╕рд╛рде рд╣реА рдХрд╛рд░реНрдпрд╕реНрдерд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпреЛрдВ рдЬрд░реВрд░реА рд╣реИ?
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдореБрдЭреЗ рдПрдХ рдЯрд╛рд╕реНрдХрдмрд╛рд░ рдХреА рддрд░рд╣ WPF рдореЗрдВ рдЕрдкрдирд╛ рдкреИрдирд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдереАред рдЙрдиреНрд╣реЛрдВрдиреЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХреА рдФрд░ рдЗрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ред
рдХреЗ рдЙрдкрдпреЛрдЧ
рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╣рдо рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
DisplayDispatcher dispatcher = new DisplayDispatcher();
рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдореЙрдирд┐рдЯрд░ рдХреА рдЦреЛрдЬ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрдирдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ред рд╕реВрдЪреА рдмреЙрдХреНрд╕ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░реЗрдВ:
for (int i = 0; i < dispatcher.Count; i++) lbMonitors.Items.Add(String.Format(" #{0} ({1}x{2}) {3}", i, dispatcher[i].ScreenWidth, dispatcher[i].ScreenHeight, ((dispatcher[i].Availability) ? " " : "")));
рдЪреМрдбрд╝рд╛рдИ рдФрд░ рдКрдВрдЪрд╛рдИ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд░реНрдЪреБрдЕрд▓ рдбреЗрд╕реНрдХрдЯреЙрдк (рдореЙрдирд┐рдЯрд░рдЕрд░реЗ) рдФрд░ рдЙрд╕ рдкрд░ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ (рд╡рд░реНрдХрдЕрд░реЗ) рдкрд░ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реЗ рдХреНрд╖реЗрддреНрд░ рдкрд░ рдбреЗрдЯрд╛ рднреА рдЙрдкрд▓рдмреНрдз рд╣реИред
рдЕрдм, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдореЙрдирд┐рдЯрд░ рдХреЗ рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрджрд▓реЗрдВ:
Rect wa = new Rect { left = 0, right = 0, top = 500, bottom = 500 }; dispatcher.GetMainDisplay().ApplyNewWorkArea(wa);
рдпрджрд┐ рдЙрд╕рдХреЗ рдмрд╛рдж рдЖрдк рдореБрдЦреНрдп рдореЙрдирд┐рдЯрд░ рдкрд░ рдХрд┐рд╕реА рднреА рд╡рд┐рдВрдбреЛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдпрдд (0; 0) - (500; 500) рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдЧрд╛ред
рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдПрдХ рдмрд┐рдЯ
рд╡рд╣ рдореЙрдиреАрдЯрд░ рдЬрд┐рд╕рдХрд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдмрджрд▓рд╛ рдЬрд╛рдПрдЧрд╛, рдЙрд╕рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдореЙрдирд┐рдЯрд░ рдХреЗ рдХреНрд╖реЗрддреНрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдирдП рдЖрдХрд╛рд░реЛрдВ рдХреЛ рд╡рд░реНрдЪреБрдЕрд▓ рдбреЗрд╕реНрдХрдЯреЙрдк рдкрд░ рдХрдмреНрдЬреЗ рд╡рд╛рд▓реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛рдиреА WorkArea MonitorArea рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЛрдб рдореЗрдВ, рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рд╡рд╛рдВрдЫрд┐рдд рдореЙрдирд┐рдЯрд░ рддрдХ рдкрд╣реБрдВрдЪ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ WinAPI рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
WinAPI рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рд╕рд╛рдЗрдЯ
www.pinvoke.net рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛
рд╣реВрдВ ред
рдбрд╛рдЙрдирд▓реЛрдб рд╕реНрд░реЛрдд (VS2010)рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЪрдпрдирд┐рдд рдореЙрдирд┐рдЯрд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдХреНрд╖реЗрддреНрд░ рдХреЛ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
PS рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХрд╛ рдЬрд╡рд╛рдм рдирд╣реАрдВ рдорд┐рд▓рд╛ рдХрд┐ рдХреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖реЗрддреНрд░ рдХреЗ рдирдП рдЖрдпрд╛рдореЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рд╕рдХреНрд░рд┐рдп рдЦрд┐рдбрд╝рдХрд┐рдпреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ, рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд┐рдЦрддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ред