25

2台のモニターを使用しているユーザーとして、アプリケーションが開くモニター(プライマリモニターまたはセカンダリモニター、アプリケーションが最後に開いたモニターなど)に関して、アプリケーションの動作が異なることに気付きました。正直なところ、一部のアプリケーションは、プライマリモニターで開いてもらいたいので、私を苛立たせます。必要に応じて、セカンダリに移動します。ただし、これらのアプリケーションは実行されており、自分では制御できないため、2台のモニターを使用しているユーザーが実行する可能性のある自分のアプリケーションについて質問したいと思います。

アプリケーションを開くモニターを指定したり、アプリケーションを閉じて再度開いたときにモニターを「記憶」したり、特定のモニターでアプリケーションを強制的に起動したりできるようにするために、どのような種類のコントロールを使用できますか。 ?

私はすべてのオペレーティングシステムとプログラミング言語にわたるソリューションを探していますが、OSと言語が異なればコントロールも異なると思います。

関連する質問

4

5 に答える 5

10

Windowsプログラマーとして、私は自分のアプリによって作成されたWindowsの開始モニターをaによって制御します。アプリをレジストリの最後の位置に保存して復元し、b。保存された情報が不足しているため、開始位置を、Windowsがデフォルトロジックを使用してアプリを配置するために使用するマジックフラグ値に設定します。MSがユーザーエクスペリエンスを向上させると、デフォルトロジックはOSからOSに変わりますが、ユーザーが見ている可能性が最も高いモニターでアプリが確実に開くようにする傾向があります。

マルチモニターのWindowsXP/ Vistaシステムを使用しているユーザーとして、アプリケーションの開始位置を設定する機能を備えたnVidiaデスクトップマネージャーを使用します。そうしないと、適切な動作が得られません。

于 2008-10-16T12:25:26.870 に答える
2

考慮すべきことの1つは、アプリケーションの呼び出しの間にモニター構成が変更された可能性があることです(たとえば、ドッキングされて外部モニターを使用するラップトップで実行されている場合など)。アプリケーションが可視範囲に配置されていることを確認してください。

APIに関しては、その情報の一部を提供するSystem.Windows.Forms.Screenクラスがあります。

于 2008-11-03T15:01:16.160 に答える
2

従来の Unix および Linux のウィンドウ マネージャーの観点からは、制御することはできません。ウィンドウ マネージャーは、ウィンドウの配置を処理します。

ウィンドウマネージャーにヒントを与えることはできるかもしれませんが、ウィンドウマネージャーがそのようなことを無視するように設定できるはずです。プログラムからウィンドウを移動または配置すると、大きな仮想デスクトップが使用されているときに簡単に問題が発生する可能性があります。

参照: http://standards.freedesktop.org/wm-spec/wm-spec-latest.html

于 2008-10-24T16:10:16.993 に答える
0

KDE 4.13.3 では (一部の古いものと新しいものでは、これを行うことができます (翻訳が不正確な場合があります - 私はポーランド語版を使用しています):

  1. 目的のプログラムを実行する
  2. タイトルバーを右クリック
  3. 「その他のアクション」->「追加のウィンドウ設定...」を選択します(さらに多くのオプションは「追加のプログラム設定...」の下にあります)
  4. タブ「サイズとレイアウト」に移動します
  5. チェックボックス「画面」をマークし、「強制」を選択して画面番号を選択します。このプログラムのウィンドウは常にその画面で開かれます。
于 2015-06-02T17:14:24.437 に答える
-1

同様の問題がありました。以下が見つかりました。

ウィンドウのタイトルバーを右クリックし、[その他のアクション] -> [ウィンドウ マネージャーの設定] を選択します。左の列で「フォーカス」を選択します。オプション「アクティブスクリーンがマウスに従う」を切り替えます。

他のデフォルトが指定されていない場合、ウィンドウは現在アクティブな画面に表示されます。上記の手順で、マウスの位置がこのアクティブな画面を定義します。

それが役立つことを願って、

ベスト、Bb

于 2014-04-25T16:13:54.910 に答える