スポンサーリンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« インパクトは大きそうだ | トップページ | リリースは二回に分ける »

詳細を検討中

今は、Mirror-DTCの次バージョンに搭載しようとしているリモートアプリ用に作業をしていて、現在開発中の仮想リモートモニター機能については、基本動作が可能な事は確認済みなのだが、詳細については、色々とテストしながら検討中だ。

仮想リモートモニターというのは、昨日書いていたMCSrvApp(仮名)の事を指しているのだが、このソフトを使うと、指定ウインドウをデスクトップからは消去し、Mirror-DTC接続したMirror-DTCクライアントの画面上に表示する事ができる。

で、上記が可能なのは、既に確認済みなのだが、Windows10で動作確認してみた所、リモートモニターに移動させる対象ウインドウのリストの中に、何故か、デスクトップに表示されていない「Microsoft Edge」が入っていたりした訳だ。

Windows8.1でも、身に覚えがないウインドウとしては「Program Manager」なんてモノもあるのだが、Windows10の前述の「Microsoft Edge」というウインドウは、少し異質な感じがした訳だ。

具体的には、移動対象ウインドウリストには、EnumWindows関数で列挙されるウインドウの中から、Visible状態で、かつ、タイトル名が割り当てられているウインドウのみを登録する格好にしてあったのだが、更に、条件にタイトルバーが存在している事を加えれば、「Program Manager」は対象から外れたのだが、「Microsoft Edge」は外れなかった。

と、いう事で、ネットで色々と調べてみた所、Windows10では、ストアアプリを特殊な非表示状態で存在させ続けている場合がある様で、その様な状況は、DwmGetWindowAttribute関数で、ウインドウハンドルを指定して、DWMWA_CLOAKEDをパラメータとして調査すれば、そのウインドウが特殊な非表示状態にされているかどうかが判る、という事だった。

なので、上記関数で特殊な非表示状態にされているウインドウを対象外にしてみた所、非表示状態の「Microsoft Edge」も表示されなくなったので、Windows10でも、対象リストは使えるかなあ、という感じにはなった。

もっとも、上記の条件では、タイトルバーを持つ事を入れていて、それを外すと、「Program Manager」だとか「Microsoft Edge」なんかの通常ではないウインドウまでリストアップされてしまうのだが、この条件を入れていると、例えば、シンプル表示にしたAG-Webカメラレコーダーの様な、タイトルバーを持たない普通のソフトもリストから外れてしまう訳だ。

と、いう事で、移動対象リストに入れるウインドウの条件はもう少し適格にできないか、だとかも検討中なのだが、今の所、Mirror-DTCクライアントに表示されるウインドウは、ウインドウ内で移動できないので、複数ウインドウを移動させると、最後に移動させたウインドウしか見えない状況だ。

なので、この辺については、ウインドウのZオーダーだとか、表示位置は、変更可能にしようとしているのだが、そこまでやるとなると、キー入力イベントやマウスイベントを渡せないモノかなあ、なんて欲も出て来る訳だ。

このため、そういった点についても、色々とやりながら可能か不可能かの見極めなんかもやっているので、開発中の仮想リモートモニター機能については、まだ、最終的にどうなるのかは決まっていないのだが、少なくとも、複数ウインドウをMirror-DTCクライアント画面に飛ばし、その画面上で、各ウインドウの表示位置とZオーダーは変更可能にはする筈だ。

なので、画面が小さいノートPCを使っている時に、解像度が高いデスクトップPCからMirror-DTC接続し、例えば、メモ帳に書いてあるメモだとか、Webブラウザに表示した参考ページなんかは、デスクトップPC側のモニターに表示しつつ、ノートPC側では、メインとなるソフトを、それらの情報を同時参照しながら使える感じにはなる筈だ。

« インパクトは大きそうだ | トップページ | リリースは二回に分ける »

2019年7月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    収集された情報がGoogleによってどの様に使用されるか、収集される情報をユーザーが管理する方法については、以下のリンクを参照下さい。

    ポリシーと規約 - Google