私は、複数のディスプレイを使用するパッケージ化されたアプリを開発中です。私は特定のディスプレイでウィンドウを開くことができる必要があります。また、ウィンドウを開いてから、javascriptを使ってモニターに移動してみました。しかし、アプリはアクティブなディスプレイの範囲を超えて移動することはありません。Chromeパッケージのアプリとデュアルモニター
これを動作させる方法に関するアイデアはありますか?
私は、複数のディスプレイを使用するパッケージ化されたアプリを開発中です。私は特定のディスプレイでウィンドウを開くことができる必要があります。また、ウィンドウを開いてから、javascriptを使ってモニターに移動してみました。しかし、アプリはアクティブなディスプレイの範囲を超えて移動することはありません。Chromeパッケージのアプリとデュアルモニター
これを動作させる方法に関するアイデアはありますか?
これは私が望んでいた解決策ではなく、そこに記載されているコメントの1つがChromeと複数のモニターの不具合であるためです。私の場合、これは内部アプリケーションなので、私はこの作業を行うために必要なものをインストールすることができます。
私の解決策は、chromeアプリケーションを起動し、Windows32 APIを使用してウィンドウを移動するコンソールアプリケーションを作成することでした。明らかに理想的ではありませんが、それは動作し、ユーザーはまだアプリを起動するためにワンクリックが必要です。例えば
使用AppWindow#setBounds
V34
ブームでテスト
chrome.app.window.get('mainWindow').setBounds({"height": 200, "left": 2000})
。これを変更して回答を修正します。
chrome.system.display.getInfo
を使用すると、アクティブなディスプレイごとに表示情報を取得できます。
displayInfo.workArea
では、各ディスプレイの作業領域を取得できます。大きなディスプレイを考える必要があり、各ディスプレイはworkAreaです。この情報を使用して、適切なモニターに
AppWindow#setBounds
のウィンドウを移動できます。 carfull、AppWindow#moveTo
が機能していません。
私が見たことから、Chromeは複数のモニタではぎこちない傾向があります。プライマリディスプレイ(私は3つのモニタを持っている)を変更すると、クロム画面が黒く反応しなくなります。クロムの内部問題の可能性が高いです –
もう1つは、ChromeのNative Client SDKをウィンドウ管理に使用することでした。私はSDKについてはあまり知らない。それを使用してウィンドウを制御することは可能でしょうか? – Kywillis
これは主に、デスクトップアプリケーションをブラウザに統合するためのものです。それは非常にうまくいくかもしれません、それはちょうどあなたがクロムで得るアクセスのレベルに依存します。 –