Hello I wrote a pretty simple application in C# that allows me to change my display settings for monitors to Clone or Extended displays:
enum DisplayMode
{
Internal,
External,
Extend,
Duplicate
}
private void duplicateButton_Click(object sender, EventArgs e)
{
SetDisplayMode(DisplayMode.Duplicate);
}
private void extendButton_Click(object sender, EventArgs e)
{
SetDisplayMode(DisplayMode.Extend);
}
private void SetDisplayMode(DisplayMode mode)
{
var proc = new Process();
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.FileName = "DisplaySwitch.exe";
proc.StartInfo.CreateNoWindow = true;
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
switch (mode)
{
case DisplayMode.External:
proc.StartInfo.Arguments = "/external";
break;
case DisplayMode.Internal:
proc.StartInfo.Arguments = "/internal";
break;
case DisplayMode.Extend:
proc.StartInfo.Arguments = "/extend";
break;
case DisplayMode.Duplicate:
proc.StartInfo.Arguments = "/clone";
break;
}
proc.Start();
}
It is based on runnning windows application DisplaySwitch.exe and everything is working well, despite opening right side bar (same one as you get when using Windows+P shortcut): Sidebar
Is it possible to somehow force it to not show that sidebar, already tried some flags as you can see in the code, but it is still showing.