ウィンドウをアクティブにするNo.18921
Y.T. さん 04/07/01 17:41
 
「何か受信したときにメッセージを表示する」をONにしています。
実際にメールが届いたときにこのメッセージのウィンドウがちゃん
と出てくるのですが、必ずしもこのウィンドウがアクティブになら
ないときがあります。(例えば他のアプリケーションで作業をして
いるときなど…?)

これはこういう仕様だと思いますが、マクロで必ずこのウィンドウ
をアクティブにすることは可能でしょうか?

勿論、他の作業をしているときに別のウィンドウ(上記のメッセー
ジのウィンドウ)がアクティブになっては困るとか嫌だという御意
見も十分あるとは思います。
ただ、私は他の作業をしていてもメールが来たらそちらがアクティ
ブになってくれた方が有り難いので、マクロで実現できればと考え
ております。

[ ]
RE:18921 ウィンドウをアクティブにするNo.18922
秀まるお2 さん 04/07/01 18:09
 
> これはこういう仕様だと思いますが、マクロで必ずこのウィンドウ
> をアクティブにすることは可能でしょうか?

 出来ません。マクロがどうこうという以前に、Windowsでは特定のウィンドウ
を必ずフォアグラウンドにするようなことは出来ません。具体的には
SetForegroundWindowという関数が必ず成功する保障が無いという話になります。

 googleでSetForegroundWindowを検索してトップに出てくるページの中の、
Remarks部分に詳しい説明が書いてありますけど。

[ ]
RE:18922 ウィンドウをアクティブにするNo.18929
Y.T. さん 04/07/02 20:47
 
> 出来ません。マクロがどうこうという以前に、Windowsでは特定のウィンドウ
>を必ずフォアグラウンドにするようなことは出来ません。具体的には
>SetForegroundWindowという関数が必ず成功する保障が無いという話になります。
>
> googleでSetForegroundWindowを検索してトップに出てくるページの中の、
>Remarks部分に詳しい説明が書いてありますけど。

コメントありがとうございました。

Windows の仕様というわけですね。実は AL-Mail で「メールが
来ました」のメッセージが強引というくらいアクティブになった
記憶がありまして…。鶴亀ならマクロが使えるから、特定のメー
ルに対してはメッセージが届きましたというウィンドウをアクテ
ィブにできるのではないか…と考えておりました。

[ ]
RE:18929 ウィンドウをアクティブにするNo.18930
秀まるお2 さん 04/07/02 22:20
 
> Windows の仕様というわけですね。実は AL-Mail で「メールが
> 来ました」のメッセージが強引というくらいアクティブになった
> 記憶がありまして…。

 Windows95の場合なら、SetForegroundWindowは強引に成功します。

 Windows2000/XPの場合なら、何かメニューを選択してるだけでも必ず失敗する
はずです。

 ちなみに鶴亀メールでは、意図してSetForegroundWindowは呼んでませんが、
その代わり、TOPMOST(最前面)にウィンドウを位置させて目立つようにしつつ、
必ず非アクティブな状態で出てきます。それはそれでWindowsアプリケーション
でのマナーに従ってるつもりです。

[ ]