2008年12月01日

WindowRemember

Loox U/B50では画面の向きを90度単位で回すボタンが付いているのですが、これで横→縦→横と画面を回すと横長に開いていたウィンドウが全て正方形に変形させられて画面の左側に寄せられてしまいます。

また、ズームボタンなど押そう物なら全ウィンドウが左上に小さくさせられてしまい目も当てられない感じになります。

これらは解像度が切り替わるので仕方がない問題なのですが、以前からリモートデスクトップやらお行儀の悪いゲームなどにより解像度が切り替わるたびにウィンドウが寄るのが気に入らなかったので、Vectorで以下の要件を満たすフリーソフトがないか探してみたのですが、見つからず・・・

  • 常駐型
  • ウィンドウの位置とサイズは自動で覚える
  • 解像度変更を検知して、元の解像度に戻ったら自動でウィンドウの位置とサイズを戻す
で、無い物は自分で作るしかないので、作ってみました。

それが「WindowRemember

(MD5 : B198E4E874C4A16C1B2F467A7EC359B2)

このソフトの動作には.Net Framework 2.0以上が必要です。

また、Loox U/B50で動作させることを主眼に作成されていますので、物理メモリ消費量はLoox UのVista環境での実測で5.6MB、CPU消費量はほぼ0%と比較的軽量になっています。

また、このソフトの使い方ですが、「WindowRemember.exe」をダブルクリックして起動するだけです。
(Windowsのスタートアップに入れておくと使いやすいと思います)

起動すると、その瞬間の画面解像度(正確にはデスクトップの作業領域サイズ)を記録して、常駐しながら全ウィンドウの位置とサイズを記録し続けます。

その後、画面の回転などで画面解像度が変更されると記録を止め待機に入り、起動時の画面解像度に戻った瞬間に可能な限りウィンドウの位置とサイズを元に戻します。

なお、この効果はソフトが起動し続けている間のみ有効ですので、途中で再起動が入った場合は効果がありません。

また、専門的な話ですが、ウィンドウハンドルをキーにして居るため、ウィンドウハンドルが変更されるウィンドウや、解像度変更中に起動・終了したウィンドウには効果が発揮されません。

このように、私が必要な機能のみを持ったソフトですので、足りない機能は他のフリーソフトを組み合わせて補ってください。

最後にソフト付属のReadMeを貼っておきますので、詳細はこちらをご覧下さい。
================================================================================
【 ソフト名 】Window Remember
【作  成  者】Takuchan ( http://lunatear.net/ )
【 動作環境 】.Net Framework 2.0以上がインストールされているWindows XP以上のOS
【 対応OS 】Windows XP SP2、Windows Vista SP1
【 動作確認 】Windows Vista Home Premium +  .NET Framework 2.0 SP1
【バージョン】1.0.1
【最終更新日】2008/12/01
【ソフト種別】フリーソフト
【ライセンス】下記参照
【 転載可否 】否 (偶に変な動きするのでこじんまり配布中です)
================================================================================
★アーカイブの中身★
    WindowRemember.exe    ソフトの実行ファイル
    Readme.txt            このファイル
================================================================================

★紹介★
このソフトは常駐し、下記のようなケースでウィンドウの位置やサイズを変更されてし
まった時でも、解像度が戻った段階でウィンドウを元の状態に戻すソフトです。
・画面の回転(チルト)
・画面の解像度変更・縮小
・全画面化するゲームの起動
・ノートからのリモートデスクトップでのアクセス

インストールの必要や管理者権限など一切必要ありません。
Loox Uでの利用を念頭に作成したので、メモリやCPU消費も極力抑えたつもりです。
また、レジストリなども使いませんので気楽におためし下さい。


★インストール方法★
インストールの必要はありません。解凍したファイルを実行してください。


★アンインストール方法★
レジストリやファイルは一切利用しませんので、実行ファイルとこのファイルを削除し
てください。


★使い方★
基本としたい画面サイズの時に本ソフトを起動してください。
起動すると通知領域(タスクトレイ)に花のアイコンが登録されますので、それで準備完
了です。

1) 起動後、監視が始まり、自動的に全ウィンドウの位置やサイズを刻々と記録します。
2) 作業領域サイズ(画面の解像度からスクバーのサイズを引いたもの)が変更されると
   全ウィンドウの位置とサイズの記録を止めます。
3) その後、このソフトを起動した時の作業領域サイズに元に戻ったタイミングで自動
   的に全ウィンドウを解像度変更直前に記録した状態に戻し、(1)の状況に戻ります。

また、ソフトを終了させる場合は、通知領域のアイコンを右クリックして「Exit」を選
択してください。


★FAQ★
Q1. デスクトップのアイコンの配置もなおしたいのですが。
A1. このソフトではできません。橋本孔明氏作成のKH DeskKeeper2007をご利用ください

Q2. 現在のウィンドウの位置を次回起動時にも引き継ぎたい。
A2. このソフトではできません。別のフリーソフトをご利用ください。

Q3. 解像度変更中に起動したウィンドウのサイズが復元されません。
A3. このソフトは解像度変更前に起動していたソフトのみがサイズなどの復元対象です
    ので、解像度変更中に起動されたソフトについて復元できません。
    必要なソフトはすべて起動してから解像度を変更するようにしてください。

Q4. 解像度変更中に終了したアプリが次回起動時に小さいサイズで表示されます。
A4. このソフトでは起動中のアプリのウィンドウしか復元できません。
  解像度が戻ってからアプリを終了するようにしてください。


★制限事項★
・新規ウィンドウやウィンドウのサイズ変更は1.5秒毎に登録しています。そのため、解
 像度変更直前のウィンドウのリサイズなどは意図したとおりに復元されない場合があ
 ります。

・(通常は無いと思いますが)解像度が変更されて元の解像度に戻ると言う処理が300ms
 以内に成立した場合は解像度変更の検知が出来ません。

・非表示ウィンドウは復元の対象になっていませんので、復元出来ません。
 (あくまで非表示のみですので、最小化中のウィンドウは正常に復元されます)

・Windows2000+.Net Framework 2.0環境でも機能的には動作しますが、タスクトレイ
 アイコンが化けて表示されます。
 (システムカラーでアイコン作ればいいんでしょうけど、面倒なので(^^;)


★注意★
・原則としてメールでの問い合わせはご遠慮願います。(と言うかあまり見てません)
 (お問い合わせはブログのコメント欄をご利用下さい)


★ライセンスについて★
・このソフトは非商用利用に限り無償にて利用出来ます。
・ここでいう商用利用とは、このソフトウェアを含めた物を販売するなど、このソフト
 により直接的な利益を得る行為を指します。
 (つまり、所属する会社内で便利ツールとして使う程度はOKですが、他社への納品物に
 含めることはNGです)
・商用利用の許諾を得る場合は、メールにてお問い合わせ下さい。
 (アドレスは「webmasterアットマークlunatear.net」です)


★免責事項★
・このアーカイブに含まれているファイルによっていかなる損害が発生しようとも当方
 は一切責任を負いかねます。
・作者にはバグや不具合の修正、および要望に応える義務は無いものとします。


★履歴★

2008/12/01 Ver 1.0.1
 細かいバグを取った初期公開版

2008/11/24 Ver 1.0.0
 とりあえず動くようになった
Posted by Takuchan at 2008年12月01日 01:00 | トラックバック(0)

うにゃ?
ちょっと便利そうなソフト発見〜♪
XPでも動くって書いてあるから、
いま流行りwのXP化したあとでも、
つかえるのかしら?

まだ使ってない人→わたしw

Posted by: ゆうの at 2008年12月01日 22:19