ホーム >プログラム >自作フリーソフト

winStyle

すべてのウィンドウをツリービューに表示し、ツリービューで選択したウィンドウの各種情報を表示するツール。

画面イメージ

新着情報

2015-03-06:Ver 1.2.2.14 リリース。
一件の不具合修正。


目次


何をするプログラムか

ウィンドウの各種情報を表示するツールです。

左側のツリービューで選択したウィンドウの各種情報を右の情報欄に表示します。
ついでなので選択したウィンドウの位置やサイズを変えたり表示、非表示の切り替えなどのウィンドウ操作も行えるようにしました。

情報内容

ツールバーの下に選択ウィンドウのプログラム名を表示します。
右側の情報欄はウィンドウ情報と実行ファイルのバージョン情報とウィンドウスタイルをタブで切り替えて表示します。

ウィンドウ情報

ハンドル ウィンドウハンドル。
16進値と10進値で表示。
クラス名 クラス名。
ウィンドウの親子関係をインデントで表現。
GetClassName APIで取得した値。
テキスト ウィンドウのキャプションあるいはテキスト。
GetWindowTextW APIとWM_GETTEXTメッセージで取得した値。
ウィンドウサイズ ウィンドウのタイトルバーや枠を含めたサイズ。
(Left、Top) 幅 高さ
DwmGetWindowAttribute API もしくは GetWindowRect APIで取得した値から算出。
LeftとTopの値は親ウィンドウのクライアント座標からのLeftとTopの値。
親ウィンドウのハンドルが0であればデスクトップ座標からのLeftとTopの値。
クライアントサイズ ウィンドウのクライアントのサイズ。
GetClientRect APIで取得した値から算出。
クライアント原点 クライアントの原点のスクリーン座標。
RECT RECT。
ウィンドウの外接長方形の四隅(Left、Top、Right、Bottom)のスクリーン座標の値。
DwmGetWindowAttribute API もしくは GetWindowRect APIで取得した値
 DwmGetWindowAttribute API DwmGetWindowAttribute API で取得した値。
DwmGetWindowAttribute API が未実装の環境(Vista以前)なら「-」を表示。
DwmGetWindowAttribute API が失敗(トップレベルウィンドウ以外等)なら「エラー」を表示。
 GetWindowRect API GetWindowRect API で取得した値。
コントロールID コントロールID。
GetWindowLong API の第二引数に GWL_ID を指定して取得した値。
Unicode Unicodeに対応しているかどうか。
IsWindowUnicode APIの戻り値。
Visible ウィンドウの可視、不可視。
IsWindowVisible APIの戻り値。
Enabled ウィンドウの有効、無効。
IsWindowEnabled APIの戻り値。
プロセスID
スレッドID
アプリケーションインスタンス

スタイル情報

右側にはツリービューで選択したウィンドウのスタイルの詳細情報を表示します。
GetWindowLong APIで取得した値と各スタイルの値を単純につき合わせ、該当するものだけを表示するようにしています。
各スタイルの情報は

となっています。
表示するスタイルは

になります。
ウィンドウスタイルと拡張ウィンドウスタイルは常に表示します。
その他はオプションで選択することで表示します。

ツリービュー

左側にはウィンドウの並びをツリービューで表示します。
並び順はEnumWindows APIとEnumChildWindows APIの列挙順です。
各ウィンドウの情報は左から順に

になっています。
このツリービューで選択したウィンドウの各種情報を右の情報欄に表示します。

制限

インストール・アンインストール

動作環境

Windows XP SP3でのみ動作確認。
2000やVista、Windows7でも多分大丈夫だと思います。
95や98、meでは動きません。

インストール

専用のフォルダを作りwinStyle.exeをコピーしてください。
レジストリには何も書き込みませんがプログラムのあるフォルダに設定ファイルを作ります。

アンインストール

専用のフォルダを作っていた場合はそのフォルダごと削除すればOKです。
専用のフォルダを作らなかった場合は下記のファイルを削除してください。

レジストリには何も書き込みません。

ダウンロード

 winStyle
winstyle.exe 2016-08-25:Ver 1.2.3.14

ファイルは圧縮していません。
ダウンロードしてそのまま実行できます。

ソースコード

ソースコードは公開しているというよりもバックアップ目的です。
なので見通しは悪いですしこれらとは別にXE用の共通ライブラリも全部ダウンロードしてセットアップしないとコンパイルできません。

ツールバー

操作説明

プログラムを起動させると現在デスクトップ上で起動している全プログラム中でトップレベルウィンドウが可視(見える)状態のウィンドウをツリービューに表示します。
ツリービューに表示されたウィンドウを選択することでそのウィンドウの各種情報とスタイルの詳細がそれぞれの情報欄に表示されます。

非可視(見えない)状態のウィンドウもツリービューに表示させる場合は「可視トップレベルウィンドウのみ」メニューのチェックを外します。
ツールバーのボタンをオフにすることでも可能です。

「キャッシュ情報を表示」にチェックが入っていると情報を取得(更新を)した時点の情報を表示します。
チェックを外すとツリービューのウィンドウを選択する度にその時点の情報を表示するようになります。
ツリービューの情報は選択するだけでなくツリービューの描画が更新される時にも現在の情報を表示するようになります。
ただしタイマーを使って明示的に更新させているわけではないのでリアルタイムで情報が続々と更新されるわけではありません。
そのためツリービューには古い(更新されていない)情報と新しい情報が混在します。
またZオーダーの並びは「最新の情報に更新」を行わないと更新されません。

履歴

※課題
2016-08-25:Ver 1.2.3.14
2015-03-06:Ver 1.2.2.14
2015-02-05:Ver 1.2.1.14
2013-10-20:Ver 1.2.0.14 マイナーバージョンアップ。

2012-10-28:Ver 1.1.0.14 マイナーバージョンアップ。

2012-08-10:Ver 1.0.12.13
2012-04-06:Ver 1.0.11.12
2011-06-25:Ver 1.0.10.12
2011-05-10:Ver 1.0.9.10
2011-04-10:Ver 1.0.8.10
2011-03-10:Ver 1.0.7.10
2011-03-09:Ver 1.0.6.10
2011-02-10:Ver 1.0.5.10
2011-01-21:Ver 1.0.4.10
2010-12-19:Ver 1.0.3.10
2010-12-15:Ver 1.0.2.10
2010-12-08:Ver 1.0.1.10
2010-11-30:Ver 1.0.0.10
2010-09-24:Ver 0.2.1.10
2010-09-03:Ver 0.2.0.10 マイナーバージョン上げ。

2010-08-12:Ver 0.1.2.10
2009-01-25:Ver 0.1.1.10
2009-01-20:Ver 0.1.0.10
2009-01-09:Ver 0.0.2.4
2009-01-08:Ver 0.0.1.4
2009-01-01:作成