【发布时间】:2014-12-05 04:05:37
【问题描述】:
我有一个 C# 应用程序,如果有多个屏幕,它应该在第二个屏幕上打开一个进程。我只是无法让它工作。有什么想法吗?
Array screens = Screen.AllScreens;
if (screens.Length > 1)
{
// open in the second monitor
}
else
{
System.Diagnostics.Process.Start(InputData);
}
它应该与else 中的数据相同,但只需在现在为空的if 中的第二个监视器上打开它。
【问题讨论】:
-
什么类型的应用程序 wpf 或 winforms
-
这是一个winforms应用程序
-
在发送到本机 API
CreateProcess的启动信息中指定此项。并希望其他程序不要。如果没有,在程序启动后找到主窗口的句柄并调用SetWindowPos移动窗口。但最好的解决方案是更改另一个程序,即您正在启动的程序。 -
一些对winform定位有用的想法:stackoverflow.com/questions/10733165/…