PR
Keyword Search
Calendar
ホームズ探偵さんComments
Freepage List
バックアップ中で、手が空いているのでBreathOfWindowネタをひとつ。
BreathOfWindow の開発中はデバッグモードで処理途中で中断したりします。
このとき困るのは、操作中のウィンドウが画面に出てこなくなることです。
手品の種明かしをすると、
BreathOfWindowは最小化したウィンドウをデスクトップの枠外に飛ばして、WindowをDisable状態に変えています。
この状態で、
XPはprintWindow() APIで状態をキャプチャしています。
VISTAは、エアロ有効状態の場合は通常のデバイスコンテキストのキャプチャを行っています。(エアロが無効な場合は、XPと同じ)
なので、途中で止まってしまうと上記の状態がそのまま残ってしまいます。
ここからの回復方法は、拙作の「窓の調べ」いつも下記のようにしています。
1)窓の調べで、ウィンドウのロケーションが10000以上のウィンドウを確認します。 (当然何が起動中だったかわかるのでウィンドウタイトルとプログラム名でも特定できます。)
2)該当ウィンドウを選択して、WinStyleボタンを押下します。そうすると現在のウィンドウスタイルビットの状態が表示されますのでWS_DISABLEのビットを確認します。このピットが立っているとウィンドウは操作を受付ませんのでチェックをはずしてOKボタンを押します。
3)次にそのまま同ウィンドウを選択したままJumpボタンを押下します。任意の場所を選択して、OKボタンを押すとウィンドウがデスクトップに戻ってきます。
2,3の順番はどちらでもかまいませんが画面いっぱいのウィンドウがDisable状態でデスクトップいかえってくると厄介なので2)を先におこなうのが無難です。
BreathOfWindow Ver.1-1-2-149 リリース 2009.08.30
BreathOfWindow Ver.1-1-2-148 リリース 2009.07.21 コメント(1)
BreathOfWindow Ver.1-1-2-147 リリース 2009.05.11