プログラムで WinRT アプリのモニターを設定する可能性を探しています。
私は WinRT API のみに限定されているわけではありません。任意の WinAPI 呼び出しも使用できます (WinAPI アプリまたはサービスをターゲット マシンに保持することは可能です)。
プロセス ハンドルを介してウィンドウ ハンドルにアクセスしようとしましたが、WinRT アプリのメイン ウィンドウがありません。
助言がありますか?
プログラムで WinRT アプリのモニターを設定する可能性を探しています。
私は WinRT API のみに限定されているわけではありません。任意の WinAPI 呼び出しも使用できます (WinAPI アプリまたはサービスをターゲット マシンに保持することは可能です)。
プロセス ハンドルを介してウィンドウ ハンドルにアクセスしようとしましたが、WinRT アプリのメイン ウィンドウがありません。
助言がありますか?
AFAIK、プログラムでWindows Storeアプリを特定のモニターで実行するように強制する方法はありません(これが「画面」の意味であると思います)。
Windowsストアアプリを複数のモニターを備えたシステムで起動すると、常にスタート画面が表示されているのと同じ画面で実行されます。これは(ここでもAFAIK)、たとえばWin + PgUp/PgDnショートカットを使用することによってのみユーザーが変更できます。
理由がわからない場合は、一貫性とユーザーの管理の問題です。彼らは、開発者ではなく、Windowsストアアプリを実行する場所を決定することができます。
お役に立てば幸いです。
Windows Storeアプリ開発の詳細については、GenerationAppに登録してください。
Windowsストアアプリは、独自のウィンドウを持つ通常のWinAPIアプリであることを発見しました。だから私はそれをHWNDを使って手に入れ、それFindWindow(L"Windows.UI.Core.CoreWindow", L"APP_NAME")
をSetWindowPos
動かしていました。app の「論理」モニターは変更されませんが、その位置は変更できます。数台のモニターに拡張することもできます。
ハックなしでは利用できない理由はわかっていますが、キオスクモードのアプリであるため気にしません。ストアに行くことはありません。