なんかいきなりで済みません・・・。
ちょっと気になっていた項目があったのでそれを解消するべく作成してみました。ソフトウェアの部屋で公開しています。あとでVectorにも登録するつもりです。
で、目的は?
このプログラムの目的は主に二つです。
- ADVシステムでウィンドウサイズを変えられる(システム的に補間処理が有効)が、元のサイズに戻す機能がないので正しいウィンドウサイズに戻したい
- 画面外に消えてしまったプログラムウィンドウを救出したい
元々の目的は前者ですが、考えているうちにあった方がいい機能として後者を加えたのでちょっとごちゃごちゃしています。
ADVシステムに補間処理はあるのはいいが・・・
何度か記事にしたことですが、今時のWindowsのADVゲームであればウィンドウサイズ変更くらいは(静的でもいいので)ほしいところだと思っています。
システムで実装するのであればウィンドウサイズを固定ではなく可変として処理するとスクリプトに頼らなくても良いのでいいのですが・・・。
問題なのは元に戻せないこと。 一度変更すれば元の解像度にぴったり合わせるのは人間業ではまず不可能だと思います。
おそらく似たようなツールはあると思いますが、そうでなくてもシステム側で実装してほしいと思います。
ウィンドウの列挙処理がちょっと面倒
今回、デバッグ要素として「マウスカーソルでウィンドウを選択時に完全な子ウィンドウまで対象にできる」という状態を追加しています。そのために子ウィンドウを正しく検索する、という機能を実装するのにかなりの時間をかけました。
あとはウィンドウ外になってもマウスの移動を検知することですか。まさかマウスカーソルのキャプチャを使い続けるわけにも行かないのでスレッドを回しています。
このあたりの同期処理のも最後の公開前テスト段階でいろいろと問題が出たのでちょっと大変でした。
使い方は人それぞれかな
作成時の想定どおりウィンドウサイズを強制的に合わせたり、ウィンドウ位置をきれいにしたり、はてまたデバッグ的に使ってみるか・・・。
実装にかけた時間は完全に合計しても一日行かないですがツールとしてはこんなものでしょう、という感じです。
ちなみに拡張としては「対象のウィンドウのスタイルを変更して、上下関係の固定を解除」などというものがあります。
この手の機能で実装してほしいものがあれば掲示板やこの記事のコメントなどで要望があれば実装するかもしれません。
10/14 追記
ちょっと公開したデータに間違いがありました。現在では修正されていますのでこの追記以前にダウンロードした方はもう一度ダウンロードしてください。