C#でdisplayswitchを操作しようとしてもなぜかうまくいかない。64bitかどうかで、使用するツールの使い分けが必要ということがわかる。
スリープからの復帰で、セカンドディスプレイがうまく復帰しなくなっていたので、イベントを感知して、自動で下記の動作をするようなアプリを作ってみたら、うまくいった。
psi= new System.Diagnostics.ProcessStartInfo();
if (!Environment.Is64BitProcess)
psi.FileName ="C:\\Windows\\sysnative\\displayswitch.exe";
else
psi.FileName ="C:\\Windows\\system32\\displayswitch.exe";
psi.Arguments = "/extend";
psi.UseShellExecute = false;
System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
if (!Environment.Is64BitProcess)
psi.FileName ="C:\\Windows\\sysnative\\displayswitch.exe";
else
psi.FileName ="C:\\Windows\\system32\\displayswitch.exe";
psi.Arguments = "/extend";
psi.UseShellExecute = false;
System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
としたら、Ok。
0 件のコメント:
コメントを投稿