作ったものとか » Softs

vvin

2021-10-24 15:59:05

Windows のウィンドウサイズを操作する CLI アプリ

ダウンロード

ダウンロード

紹介

コマンドラインで、指定したタイトルのウィンドウを最大化・最小化・リサイズ・移動・常に最前面に移動・透過・ウィンドウ表示待機 するツールです。

minimize をより汎用的にしたものです。

使い方

基本形

ウィンドウを指定する

vvin -t {ウィンドウタイトル} {サブコマンド} [resizeの場合の位置・サイズ指定]

-t で指定したタイトルに中間マッチするウィンドウが操作対象となります。 (メモ帳を操作したい場合、「-t 帳」でも OK です)

※サブコマンドは後述

バッチファイルに組み込む場合

バッチファルに vvin の行を入れることで、バッチファイルを実行しているコンソールウィンドウを操作することもできます。

長くかかる処理の最初と最後に min/restore を入れておくことで、実行中は非表示にしておき処理が終わったらウィンドウを表示するなどの用途があります。

vvin {サブコマンド}

前述のウィンドウを指定する方法では、vvin を実行しているコンソールウィンドウは操作対象外となります。

サブコマンド

ここでは、簡単な説明と使用例を掲載します。

詳細な内容については、vvin help {サブコマンド} を実行して確認してみてください。

max – 最大化

-r もしくは --restore をつけると、元のサイズに戻します。

vvin -t メモ帳 max

vvin -t メモ帳 max --restore
vvin -t メモ帳 max -r

min – 最小化

-r もしくは --restore をつけると、元のサイズに戻します。

vvin -t メモ帳 min

vvin -t メモ帳 min --restore
vvin -t メモ帳 min -r

resize/move – 位置・サイズの変更

resize でも move でも mv でも同じ挙動です。

vvin -t メモ帳 resize [オプション(最低限、一つは必要です)]

オプション

各オプションでは、以下の指定方法が可能です。

vvin -t メモ帳 resize -x 100 -y 100 -w 50% -h 100%

topmost – 常に最前面に移動

-r もしくは --restore をつけると解除します。

vvin -t メモ帳 topmost

vvin -t メモ帳 topmost --restore
vvin -t メモ帳 topmost -r

alpha – 透過

ウィンドウの不透明度を指定して、ウィンドウを透過させます。

vvin -t メモ帳 alpha [不透明度]

不透明度の指定

不透明度には数値もしくはパーセンテージを指定できます。

数値パーセンテージ
完全に透明00%
半透明12850%
完全に不透明255100%

wait – ウィンドウの起動・終了まで待機

起動待機

指定したタイトルのウィンドウが出てくるまで待機します。 出てきた後に vvin は終了します。

vvin wait メモ帳

(メモ帳のウィンドウが表示されたらやりたいこと)

アプリの起動を待つ場合は、固定秒数のウェイトを入れるよりも、この方法のほうが無駄が少ないです。

ウィンドウが表示されたら SendKeys を使って自動操作をする、なんてこともできますね。

終了待機

vvin wait メモ帳 --closed

(メモ帳のウィンドウがなくなったらやりたいこと)

その他のオプション

vvin help wait を参照してください。 より短い間隔でウィンドウのチェックをしたり、タイムアウトを指定したりすることができます。

特徴的な挙動

些細な点ですが…

vvin でのリサイズでは、最大化したウィンドウに対してリサイズをかけています。 そのため、Windows 標準の操作である「元のサイズに戻す」でリサイズ前の位置・サイズに戻すことができます。

これはこのアプリを作ろうとした動機でもあります。 個人的に、一時的にスクリーンの端に寄せておきたいけど、それを記憶される (アプリによっては記憶されてしまうので) と元に戻すのが面倒な場面が多いため、標準ではこの挙動にしています。

一方で、この挙動では困る、純粋にウィンドウをリサイズしてほしいという場合もあるかと思います。 その場合は --norestorable をつけることで、普通にマウスでリサイズしたようにすることができます。

vvin -t メモ帳 resize -x 100 -y 100 -w 50% -h 100% --norestorable

バッチファイルに記述する場合

パーセンテージで指定する場合ですが、バッチファイル中では 100%% と記述します。

バッチファイルでは、% という文字は環境変数の囲み文字として扱われます。 そのため、100% と記述してしまうとうまく認識されません。