Temabytare, automatiskt växla mellan teman beroende på upplösning (C#)

Permalänk
Medlem

Temabytare, automatiskt växla mellan teman beroende på upplösning (C#)

Hej SweC!

Jag har 3 st skärmar som jag kör i Eyefinity när jag spelar och ställer oftast om till extended desktop när jag inte spelar. Att skifta mellan dessa lägen går mycket enkelt med Windowsknappen + P, bara att ställa om alltså.

Problemet är att beroende på vilket tema man kör så blir bilden helt utdragen eller så blir de yttre skärmarna utan bild och blir svarta, så jag skrev ett litet program som automatiskt ändrar tema beroende på upplösning på skärmen.

Koden:

public partial class Form1 : Form { public bool changetoEyefinity = false; public bool changetoExtendend = false; public Form1() { InitializeComponent(); } private void timer_Tick(object sender, EventArgs e) { int upplösning = Convert.ToInt32(System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width); if (upplösning == 1920) { if (upplösning == 1920 && changetoExtendend == true) { string program = @\Users\marcus\AppData\Local\Microsoft\Windows\Themes\Tema YS.theme; System.Diagnostics.Process.Start(program); changetoExtendend = false; } changetoEyefinity = true; } if (upplösning == 5760) { if (upplösning == 5760 && changetoEyefinity == true) { string program = @\Users\marcus\AppData\Local\Microsoft\Windows\Themes\Eyefinity.theme; System.Diagnostics.Process.Start(program); changetoEyefinity = false; } changetoExtendend = true; } } }

Dold text

Problemet är att när programmet byter tema så startas Kontrollpanelen automagiskt och man måste då stänga ner den "manuellt" vilket tar bort hela vitsen med programmet, dvs att det ska sköta sig självt.

Är det någon som har någon smart lösning på detta skulle det vara toppen!

Visa signatur

Spelburken: Intel Core i5 3570k @ 4,4 Ghz, HD7870 Crossfire, 8GB RAM, Skärmar: 3x Dell U2312HM Eyefinity
Asus Zenbook UX32VD, Nexus 6P
Citera för svar!