デスクトップの中に配置されているウインドの位置を記憶したり、
記憶した情報を元に再配置します。
ビデオボードとモニターの間がディスプレーポート(Display Port)
接続の場合にモニターの電源スイッチ操作して切った場合に、
２画面の場合には別の画面に移動したりして元の状態が失われます。
LocationKeeper.exeでは、ウインドを再配置して元の状態に戻します。
通常パソコンを使うときの自分なりの画面の配置を決めている人向けに
ウインド位置を整列(再配置)する機能を持っています。


【機能の説明】
[ウインド位置取得]
現在のディスクトップに表示しているウインドの状態を取得して
記憶します。

[ウインド位置再配置]
記憶している情報を元にウインドを再配置します。

[モニターオフ]
ソフト的にモニターの電源を切ります。
ディスプレーは省電力モードに遷移します。

[ウインド整列実行]
取得したウインド情報に従った配置に整列させます。
８種類から選択できます。
複数の登録が有れば、１回押す毎に順番に次有効なアイテムに変更になります。

このボタンの上で右クリックすると１〜８番のボタンのダイアログを
表示しますので直接好きな番号を選んでください

[整列ウインド取得]
自分の好みに合わせてウインドを配置した状態の画面の座標を
レジストリーに記憶させます。
この時は、必要なアプリケーションのみを立ち上げて下さい。
[１番]を押してからコメント欄に好きなコメントを入れて、[整列ウインド取得]
を押して下さい。
違う配置を取得する時は２〜８番を使って下さい。
未取得アプリの最小化をチェックしておくと、取得時には起動していない
でウインド整列実行時に起動しているアプリを強制的に最小化します。
(Windowsキー＋Dを押してから整列させるのと同様です)


使っているレジストリーキー
HKEY_CURRENT_USER\Software\JIN2012\LocationKeeper\location
取得後レジストリーエディターで各アプリのキーの中の
値titleを"*"に変更すると常に一致します。
エクスプローラとインターネットエクスプローラは値addressURLNameも
"*"にすると常に一致します。
値isValidを"0"に変更するとその情報は整列実行時に反映しません。

[↓]
ウインドのサイズを広げて、隠れていた設定などの部分を
表示します。
２回目を押すと、ログを表示しているEditボックスを表示します。
３回目を押すと、元に戻ります。


【チェックボックス】

モニターオフのボタンを押した時にコンピュータをロックするかの選択
ロックすると都度パスワードを入力する必要があります。

モニターオフのボタンを押した時に自動的にウインド位置を取得する
事を禁止します。手動で操作したい時に設定します。

コンピュータロックを解除した時に自動的に再配置する事を禁止します。
手動で操作したい時にONにします。
※１ 通常はOFFで使用します。

コンピュータロックを解除してから再配置するまでに約４秒待ちます。

ウインド整列実行のボタンの表示名称を任意に設定できるようにします。

LocationKeeperも整列対象に含めます


【使い方】
モニターの電源スイッチを操作してOFFする前に[ウインド位置取得]を
行って下さい。
モニターの電源を入れてから、[ウインド位置再配置]を行って下さい。
コンピュータをロックしてからモニターの電源を切る場合は ※１ の
設定になっていたら、自動的にウインド位置を取得します。
モニターの電源を入れてからパスワードを入力してコンピュータロックを
解除して下さい。自動的にウインドを再配置します。
この時の画面の状態はメモリー上にしか記憶しません。


番号を指定して整列ウインド取得を行って現在の画面の状態を取得します。
この情報はレジストリーに記憶するのでPCを再起動しても有効です。
ウインド整列実行を押して取得した時の画面の状態を再現します。

起動時に引数を使って自動動作させる事が出来ます。
コマンドプロンプトやバッチファイル、ショートカットで使えます。
例：LocationKeeper.exe /R1 /W5 /E10
  /R数字  --- 実行時に何番でウインド整列を実行するかを指定します。
  /W数字  --- 実行時に何秒待ってから、ウインド整列を実行するかを指定します。
  /E数字  --- 実行後に何秒経過したら自動的に終了するかを指定します。

【インストール方法】
LocationKeeper.exeを自分の好きなフォルダーにコピーして実行するだけです。
特別なインストーラはありません。
64ビット版と32ビット版がありますので必要な方を選んで下さい。

使っているPCが64/32どちらかわからない場合は32を入れてください。
OSが64ビットでLocationKeeper.exeが32ビットの組み合わせで使うと
64ビットアプリの実行ファイル名をフルパスでチェックする機能が働きませんが、
その他の機能は動作します。


【アンインストール方法】
LocationKeeper.exeを削除して下さい。
レジストリーにはチェックボックスや整列させる為の設定情報などを
保管していますので、[使用レジストリ削除]ボタンを押して下さい。
[使用レジストリ削除]を押した後は×で終了した際にレジストリーに
設定情報を書き込むことはありません。
うまく消せない場合は、regdelete.batを実行して下さい

使っているレジストリーキーは下記のキー以下です
HKEY_CURRENT_USER\Software\JIN2012\LocationKeeper


【管理者権限】
regedit.exe(レジストリーエディター)やその他、管理モード実行している
アプリの位置を再配置したり整列させるには、LocationKeeper.exeを
管理者として実行するようにして下さい。



【改定履歴】
V1.00 2014/10/19 初版

V1.01 2014/10/22
・レジストリー構成バージョンのチェックを追加
・選択肢を８種類に倍増
・整列時に最初に全アプリを最小化して開始する機能を追加
・この番号だけの削除はコメント空白で行えるように修正
・ESCで終了しないように修正
・ログを表示しないモードを選べるようにする
・整列実行のボタン右クリックで拡大し８種選択画面にする機能を追加
・起動時の引数オプションに対応する。 /R1 自動整列  /W10 待ち時間  /E20 終了

V1.01a 2014/10/23
・フルパスの比較時に8.3形式に省略して比較を行うように修正
  (パソコンの環境によっては8.3形式になるための対応)

V1.02 2014/10/25
・ログ画面、レジストリー削除ボタンを隠す選択肢を追加
・ログ画面の最初の行にタイトルやOSバージョンを出力

V1.03 2014/10/26
・グリッドへのウインド位置合わせ込みモード追加
  レジストリ GridPitchも追加

V1.03a 2014/10/28
・グリッドピッチの初期値を100→80に変更。レジストリバージョンを101へ進める。
・グリッドモードで使うVectorを別途宣言
・ウインドを閉じる時にKillTimer()を実行
・どちらのグリッドに丸め込むかの閾値を真ん中に設定
・グリッドへの合わせ込みを行う動作の開始に右マウスボタン0.3s押しを設定
・ダイアログアプリなどサイズ変更できないアプリはグリッドモードでサイズ変更禁止

V1.03b 2014/10/29
・チェックボックスで「実行時のログやレジストリ削除ボタンを表示」を
　選択した時の「↓」ボタンの表示内容を修正
・チェック用にグリッド線を表示するレジストリースイッチを新設

V1.03c 2014/10/29
・クラス名での比較の無効化レジストリの追加
  DisableCompareByClassName
  レジストリのクラス名を「*」としても良い

V1.04 2014/11/1
・グリッドの格子線の描画を高速化してグリッド表示時に再描画あり
・アプリのウインド位置をグリッドの線に追加するモード
・チェックボックスでグリッド描画とアプリのウインド位置の追加を選択出来るようにした。

V1.04a 2014/11/4
・About boxのバージョン名の変更忘れを対策

V1.05 2014/11/8
・コンピュータロック時にモニターOFF解除15秒で強制的にモニターOFFするようにした。
  レジストリ ForceMonitorOFF を １⇒０に変更すると無効にできる


By JIN
