ウィンドウ切り替えツール『かえかえ君』ver.2.0暫定公開

まずはお久しぶりです

前回の記事から4年半、お久しぶりです。

facebookやinstagramには投稿していたので生存確認はできていたと思いますが、また久しくメインサイト放置してました。

思い返せば1996年にリムネットのホームページサービスからスタートして24年、年単位で放置しつつもなんとなく続けてきた自分のサイト、今後も引き続きのんびりと続けていきます。

メジャーバージョンアップしました

サイトを放置している間もちびちびと修正していたのですが、ある程度まとまってきたので久々に公開。

今回から.NET Framework 4.8対応、64ビットWindows専用になったので、前のバージョンと分けるためにメジャーバージョンアップの2.0としました。基本機能は変わっていません。

最初に表示される画面はバージョン1系と同じ。
やれることも、ウィンドウを選んでプレビュー表示、クリックで選択と同様です。

64ビット対応にしたのはポインタの扱いです。
きっちり両対応のコード書けばいいだけなんですが、面倒だったのですみません。
32ビット版Windows環境には今後も対応する予定はありません。バージョン1系をご利用ください。

バージョン1.2からの追加機能

いろいろ追加したり直したりしたんですが、数年前やったのもあるので忘れてるところも。見える範囲で書きます。

ドラッグ&ドロップでパネル入れ替え

v1.2で追加したパネルの入れ替えをドラッグ&ドロップでできるようにしました。
パネルからパネルにドラッグ&ドロップするだけなので、直感的に操作できると思います。

ウィンドウの操作

対象のウィンドウの表示状態を操作する機能を付けました。

操作といってもメモリを触るとかではなく、ウィンドウの状態を設定する値(Window State)を変えるだけです。

最小化、最大化

対象のウィンドウを最小化もしくは最大化します。
対象ウィンドウの操作機能テストとして簡易的につけたものですが、そのまま残してあります。

常に最前面化設定

対象のウィンドウに最前面化設定をし、最前面ウィンドウ群に入れます。
常時手前に表示したいときなどに。

常に最前面化解除

対象のウィンドウに最前面化解除設定をし、最前面ウィンドウ群から外します。
最前面化設定を行ったウィンドウの解除や、最初から最前面化されているけど邪魔なウィンドウの解除などに。

仮想フルスクリーン化

今回のアップデートで自分的に一番の目玉機能です。

ウィンドウのタイトルと枠線を無くし、画面いっぱいに表示します。
これは、ウィンドウ表示のゲームをフルスクリーン化する目的で実装しました。

例えば、解像度が違うマルチモニタ2台で、左側メインモニタにかえかえ君、右側サブモニタにゲームを表示したい場合、ゲーム内の仮想フルスクリーン的な表示設定では思うようにいかない場合があります。
かといってウィンドウモードでは枠線が邪魔でモニタいっぱいに表示されず没入感に欠ける。場合によっては縮小されて黒枠が出ていまいち、ということもあります。
そうしたときに、この設定を使用して画面いっぱいに表示させることで対応させる、という目的での実装です。

マルチモニターの場合はウィンドウがより多くの割合で表示されているモニタを自動的に選択して最大化します。モニタの選択は不要です。

なお、この機能でも仮想フルスクリーン表示されないウィンドウもあります。それは描画方式などの関係でそういうものなのでご理解ください。
いわゆるストアアプリなどはプレビューも含めて対応できないことが多いです。

仮想フルスクリーン化は、かえかえ君の終了時等に自動的に解除されます。
かえかえ君自身が異常終了した際は解除されないので、そのソフト内かタスクマネージャーで一旦終了させてください。再度起動した際に仮想フルスクリーン化していることはありません。

仮想フルスクリーン化を解除

かえかえ君で設定した仮想フルスクリーン化を解除します。

対象のアプリケーション自体で行っている仮想フルスクリーン化を解除できるものではありません。

かえかえ君自身の表示設定を追加

ゲームプレイ時に全体的な没入感を高めて欲しいというご要望が元々の発注元からあったので追加しました。

常に最前面に表示

かえかえ君自身を最前面表示ウィンドウ群に追加・解除させます。

標準ウィンドウ

起動時の普通のタイトルバー付き可変ウィンドウの状態に設定します。

枠無し最大化ウィンドウ

タイトルバーや枠を外し、ワークエリア内で最大化します。

ワークエリアとは、タスクバーやサイドバーなどを除いたデスクトップの作業領域範囲です。つまり、タスクバーが見える最大化設定という感じです。

マルチモニターの場合はかえかえ君ウィンドウがより多くの割合で表示されているモニタを自動的に選択して最大化します。モニタの選択は不要です。

仮想フルスクリーン

枠無し最大化の全画面版です。タスクバーなども隠れます。

マルチモニタ2枚で左をかえかえ君、右を仮想フルスクリーン化したゲームとすると、完全にゲーム画面のみがモニタに表示されるようにできます。

ショートカットキーをいくつか追加

謎機能追加。

全てのウィンドウを最大化

登録しているウィンドウをすべて最大化します。

起動オプションでまとめてウィンドウを選択した後、一気に最大化したい場合に便利です。

次のウィンドウにフォーカス、前のウィンドウにフォーカス

フォーカスとありますが、実際は視覚的なフォーカスは移らないことが多いです。

技術的に言えば、SetWindowPos で HWND_TOP と、SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER を現在の選択番号の前もしくは後の番号のウィンドウに送っているだけです。

実験的な機能で、Windows 10以降では思うような動作はしてくれません。

バージョン情報のリンクをhttps化

サイト側で http → https な rewrite をしているのですが、元からちゃんと https に直しました。

暫定公開します

久しぶりの公開で Vector への登録手順も忘れてしまったというところもありますが、バグもあるかもとの様子見ということで当面はここだけで暫定公開します。

【注意】
バージョン2からは64ビット版Windows専用になっています。
メモリ4GB以上認識してるWindows 10なら大丈夫でしょう。

事前に .NET Framework 4.8 ランタイムを導入しておいてください。
インストーラーを使った場合はインストールの途中に、実行ファイル単体の場合は初回実行時にダウンロードを促すダイアログが出た気もします。
Windows 10のバージョンやWindows Update状況によっては既に入っている可能性もあります。詳細はこちらのマイクロソフトの記事でご確認ください。

Windows 10 と Windows Server 2016 以降に .NET Framework をインストールする

インストーラー版はこちら。
メニュー登録名が変わったのでバージョン1系と共存できるはずです。

インストーラー版「かえかえ君」バージョン 2.0

実行ファイル本体はこちら。適当なフォルダにファイル一式を配置して WWWWswch.exe を叩けば起動します。

実行ファイル単体版「かえかえ君」バージョン 2.0

このまま正式公開されずまた放置されたら察してください。

謝辞

前バージョンのVector公開後、ゲーム等でこのツールを活用しているという5ちゃん投稿やこのサイトでのコメントを見かけました。

やっぱりそういう話があるとうれしいですね。ありがとうございます。

超ニッチなツールかとは思いますが、面白そうな追加機能を思いついたら更新していこうと思います。


コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください