OrangeMaker

OrangeMaker

PR

×

Keyword Search

▼キーワード検索

Profile

OrangeMaker

OrangeMaker

Calendar

Comments

オールフリーソフトのひろ@ Re:Kokomite Ver.1-0-1-103 リリース(06/10) Kokomiteについて教えてください。 初め…
http://buycialisky.com/@ Re:vs2011 にアップグレード(09/18) cialis split pillcialis comparison difl…
http://buycialisky.com/@ Re:BreathOfWindow Ver.1-0-116 Vectorにて公開(09/05) best price cialiscialis vs viagra pharm…
http://buycialisky.com/@ Re:RieNマルチ化(04/29) cialis preis apothekecialis online ohne…
http://buycialisky.com/@ Re:EatherOverSkypeについて(08/01) side effects of viagra and cialiscialis…

Freepage List

2008.10.22
XML
カテゴリ: BreathOfWindow

バックアップ中で、手が空いているのでBreathOfWindowネタをひとつ。 

BreathOfWindow の開発中はデバッグモードで処理途中で中断したりします。

このとき困るのは、操作中のウィンドウが画面に出てこなくなることです。

手品の種明かしをすると、

BreathOfWindowは最小化したウィンドウをデスクトップの枠外に飛ばして、WindowをDisable状態に変えています。

この状態で、
XPはprintWindow() APIで状態をキャプチャしています。
VISTAは、エアロ有効状態の場合は通常のデバイスコンテキストのキャプチャを行っています。(エアロが無効な場合は、XPと同じ)

なので、途中で止まってしまうと上記の状態がそのまま残ってしまいます。

ここからの回復方法は、拙作の「窓の調べ」いつも下記のようにしています。

1)窓の調べで、ウィンドウのロケーションが10000以上のウィンドウを確認します。 (当然何が起動中だったかわかるのでウィンドウタイトルとプログラム名でも特定できます。)

2)該当ウィンドウを選択して、WinStyleボタンを押下します。そうすると現在のウィンドウスタイルビットの状態が表示されますのでWS_DISABLEのビットを確認します。このピットが立っているとウィンドウは操作を受付ませんのでチェックをはずしてOKボタンを押します。

3)次にそのまま同ウィンドウを選択したままJumpボタンを押下します。任意の場所を選択して、OKボタンを押すとウィンドウがデスクトップに戻ってきます。

2,3の順番はどちらでもかまいませんが画面いっぱいのウィンドウがDisable状態でデスクトップいかえってくると厄介なので2)を先におこなうのが無難です。






お気に入りの記事を「いいね!」で応援しよう

Last updated  2008.10.22 05:23:43
コメント(0) | コメントを書く


【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! -- / --
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X

© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: