2021年3月27日土曜日

C#でdisplayswitchを操作

 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);

としたら、Ok。

0 件のコメント:

コメントを投稿