我正在寻找以编程方式设置WinRT应用监视器的可能性。
我不仅限于WinRT API,我也可以使用任何WinAPI调用(可以在目标机器上保留WinAPI应用程序或服务)。
我试图通过进程句柄访问窗口句柄,但WinRT应用程序没有主窗口。
有什么建议吗?
答案 0 :(得分:2)
AFAIK,无法以编程方式强制Windows应用商店应用在特定显示器上运行(我假设这是“屏幕”的意思)。
在具有多个显示器的系统上启动Windows应用商店应用时,它将始终在显示“开始屏幕”的同一屏幕上运行。这可以(再次,AFAIK)仅由用户更改,例如,使用Win + PgUp / PgDn快捷方式。
如果您想知道原因,那就是一致性并让用户掌控。他们决定运行Windows应用商店应用的位置,而不是开发人员。
希望有所帮助。
有关Windows应用商店应用开发的详细信息,请注册Generation App。
答案 1 :(得分:1)
我发现windows store app是带有自己窗口的常规WinAPI应用程序。所以我使用FindWindow(L"Windows.UI.Core.CoreWindow", L"APP_NAME")
获得了它的HWND并使用SetWindowPos
来移动它。它不会改变应用程序的“逻辑”监视器,但它可以改变它的位置。甚至可以在几台显示器上拉伸它。
我知道为什么没有黑客就没有它,我不在乎,因为它是一个自助服务终端模式的应用程序,它永远不会去商店。