定期受信後にフォーカスされるウインドウNo.06577
yamakazu さん 20/04/10 13:01
 
お世話になっております。

秀丸メールを定期受信(一部のアカウントは新着監視中)に設定して使用しておりま
す。
その際に、定期受信に設定した時間が経過して(新着監視中アカウントでは新規メー
ルが到着するなどして)
送受信が行われた際に、個別のメールをメールエディタで開いて作業中であっても、
フォーカスが秀丸メール本体側に移行するという仕様になっているかと存じますが、
それは正しい理解でしょうか。

あるいは設定項目のどこかで、フォーカスされるウインドウの移動を止めるような項
目がありますでしょうか。
もし、そうした設定項目があれば場所をご教示頂けないでしょうか。

--------------------

また、そうした形でフォーカスが本体側に移った後、エディタ側にフォーカスを移動
したいと思って
エディタのメール本文などの部分をクリックしてもフォーカスがエディタ側に移りま
せん。

フォーカスを移動させるには、そのウインドウの一番上のタイトルバーの部分をクリ
ックする必要がある様です。

--------------------

希望としましては、前段の送受信時にウインドウのフォーカスを本体側に移動させな
い事が1番の希望です。

次に、上記の移動を停止する事が不可ならば、エディタのウインドウ内のどこをクリ
ックしても
フォーカスが移動する様にして頂けないかという事が2番めの希望です。

ご検討頂けましたら幸いです。よろしくお願い致します。

[ ]
RE:06577 定期受信後にフォーカスされるウNo.06581
秀まるお2 さん 20/04/10 15:25
 
 定期受信が実行されて、フォーカスというか、アクティブウィンドウというか、フ
ォアグラウンドウィンドウというか、その辺が勝手に変わることは、一応無いはずで
す。

 勝手に変わる(秀丸メール本体ウィンドウが勝手にアクティブになる)とした
ら・・・・、「マクロ・マクロ登録...」の「自動起動」ページの中の:「受信が一
段落した時」の所に何かマクロ登録されてたりしませんでしょうか。そこに登録され
てるマクロが何かアクティブウィンドウを切り替えるようなことをしてる可能性が考
えられます。

 何か登録されてとしたら、一回それを外して(登録情報を空にして)試してみて欲
しいです。

 それ以外にはちょっと思いつく原因が無いですが、マクロが関係無いとしたら、も
っと詳しく原因を探してみたいと思います。

[ ]
RE:06577 定期受信後にフォーカスされるウNo.06582
秀まるお2 さん 20/04/10 15:46
 
 追加ですみません。

> また、そうした形でフォーカスが本体側に移った後、エディタ側にフォーカスを移
>動したいと思って
> エディタのメール本文などの部分をクリックしてもフォーカスがエディタ側に移り
>ません。

 これもちょっとおかしいと思います。理由はちょっと分からないですけども。

[ ]
RE:06581 定期受信後にフォーカスされるウNo.06584
yamakazu さん 20/04/10 18:21
 
めちゃ素早い返信に感謝です。

> 勝手に変わる(秀丸メール本体ウィンドウが勝手にアクティブになる)とした
>ら・・・・、「マクロ・マクロ登録...」の「自動起動」ページの中の:「受信が一
>段落した時」の所に何かマクロ登録されてたりしませんでしょうか。そこに登録さ
>れてるマクロが何かアクティブウィンドウを切り替えるようなことをしてる可能性
>が考えられます。

なるほど、確かに登録していますので、それを外してみます。
登録しているのは「重複したメールのチェック」を受信が一段落した時に自動実行す
るものですので、正しくそれが原因だと思われます。
試してみた結果は、改めて報告します。

[ ]
RE:06582 定期受信後にフォーカスされるウNo.06585
yamakazu さん 20/04/10 18:24
 
返信、ありがとうございます。

>> また、そうした形でフォーカスが本体側に移った後、エディタ側にフォーカスを
>移動したいと思って
>> エディタのメール本文などの部分をクリックしてもフォーカスがエディタ側に移
>りません。
>
> これもちょっとおかしいと思います。理由はちょっと分からないですけども。

こちらは再現手順を確認してみます。
どうなった時に、それが再現するかを書き出してみます。

[ ]
RE:06584 定期受信後にフォーカスされるウNo.06591
yamakazu さん 20/04/11 13:33
 
ご指摘の通りでした。
変な質問をして申し訳ありませんでした。

>登録しているのは「重複したメールのチェック」を受信が一段落した時に自動実行
>するものですので、正しくそれが原因だと思われます。
>試してみた結果は、改めて報告します。

このマクロが本体側のウィンドウをアクティブにしていました。

以上、報告とお詫びと御礼まで。

[ ]
RE:06585 定期受信後にフォーカスされるウNo.06592
yamakazu さん 20/04/11 13:34
 
>こちらは再現手順を確認してみます。

この現象が再現した時にどうなっているかを確認しました。
送受信が一段落した時に、重複メールをチェックするマクロが動いて、本体側で何ら
かの作業が行われた場合に、

秀丸メールの本体ウインドウが一番前(フォアグラウンド)のウインドウになります。
しかしながら、そのウインドウはフォーカスを持っていないというか、タイトルバー
が非アクティブのままです。

一方で、送受信後のマクロが動く前に作業していたウインドウは、フォーカスを持っ
たまま(タイトルバーがアクティブのまま)本体ウインドウの後ろに回ります。

その状態になった時に、元々作業をしていたウインドウを前に表示させるには、タイ
トルバーの部分をクリックするしかない(その他の部分をクリックしても効かない)
となる様です。

これは秀丸メールには関係のない事なのだろうと思います。windowsなのか、あるい
は自動起動させたマクロか、そのどちらかの仕様なのだろうと。

以上、報告致します。
検討して頂き、ありがとうございました。

[ ]
RE:06591 定期受信後にフォーカスされるウNo.06597
秀まるお2 さん 20/04/13 09:16
 
 マクロの中で"NewMail"関数呼び出ししてエディタ・ウィンドウを生成したりして
るようでしたら、マクロのせいでフォーカスが動いてしまうのは防ぎようは無いかも
しれません。

 秀丸メール本体ウィンドウの中だけで動くマクロであれば、工夫すればフォーカス
移動しないように出来るかもしれません。例えばsetactivehidemaruとかSelectPane
関数呼び出しとかしてるなら、その辺をコメントアウトして試してみるといいかなぁ
と思います。

[ ]
RE:06597 定期受信後にフォーカスされるウNo.06601
yamakazu さん 20/04/13 11:33
 
ありがとうございます。
ここから先は、私には十分理解できないところであるのと、重複メールの削除を自動
起動しなければ良いことなので、私としては問題解決です。

ただ、一応動かしていたマクロを以下に貼り付けておきます。
マクロとして良くないところがあれば、お手すきの時にご指摘頂ければ幸いです。

----ここから----------------
loaddll "tkinfo.dll";
$account = dllfuncstr("CurrentAccount");
$folder = dllfuncstr("CurrentFolder");
#n = dllfunc("SelectFolder", "アカウント1", "");
#n = dllfunc("SetAutoPushTimerEver", hidemaruhandle(0), "" );
#n = dllfunc("CheckDuplication", "under");
#n = dllfunc("SelectFolder", "アカウント2", "");
#n = dllfunc("CheckDuplication", "under");
#n = dllfunc("SelectFolder", "アカウント3", "");
#n = dllfunc("CheckDuplication", "under");
#n = dllfunc("SelectFolder", $account, $folder);
#n = dllfunc("StopAutoPushTimer");
----ここまで----------------


こののマクロは、このサポートフォーラムの以下のスレッドを参考にさせて頂きまし
た。
 https://log.maruo.co.jp/hidesoft/hidesoft_8/x40315.html

[ ]
RE:06601 定期受信後にフォーカスされるウNo.06602
秀まるお2 さん 20/04/13 11:45
 
 CheckDuplicationでダイアログボックスが出てくるので、それがフォーカスを奪っ
てるんだと思います。

 CheckDuplicationのパラメータで"batch"を指定するとダイアログボックスが出な
くなるはずなので、そういう指定をすれば回避できる可能性が高いと思います。

 (こちらで動作確認してないので、間違ってたらすみません)


    #n = dllfunc("CheckDuplication", "batch+under");


 みたいに直す形になります。SetAutoPushTimerEverは不要になります。

[ ]
RE:06602 定期受信後にフォーカスされるウNo.06603
yamakazu さん 20/04/13 14:13
 
ありがとうございます。

>    #n = dllfunc("CheckDuplication", "batch+under");
> みたいに直す形になります。SetAutoPushTimerEverは不要になります。

上位の通りに修正しましたところ、フォーカスを本体側に取られる事がなくなりまし
た!!感謝です!


[ ]
RE:06603 定期受信後にフォーカスされるウNo.06606
yamakazu さん 20/04/13 16:58
 
すみません。1点だけ教えて下さい。

>> SetAutoPushTimerEverは不要になります。

との事で、以下の行をコメントアウトしました。

#n = dllfunc("StopAutoPushTimer");

そうしたところ、このマクロを動かした後、様々な設定などのポップアップウインド
ウを開くと、一旦開くのですがすぐに閉じてしまう動きをする様になりました。
これを改善するには、秀丸メールを一度落として再起動するすることが必要になりま
す。

なので、上位の行を復活させていますが、この動きは正しいでしょうか?

[ ]
RE:06606 定期受信後にフォーカスされるウNo.06607
秀まるお2 さん 20/04/13 17:24
 
 マクロの中の上から5行目に、

#n = dllfunc("SetAutoPushTimerEver", hidemaruhandle(0), "" );

 って処理があります。これをコメントアウトしないといけないです。僕が書いたの
は、「SetAutoPushTimerEverをコメントアウトする」です。

 これをコメントアウトせずに

#n = dllfunc("StopAutoPushTimer");

 だけコメントアウトしたら、AutoPushTimerがかかりっぱなしになるので、結果と
してマクロ終了後もダイアログボックスが勝手にOKされてしまいます。

 SetAutoPushTimerEverの方をコメントアウトすれば、StopAutoPushTimerもどっち
みちいらなくはなりますけども。

[ ]
RE:06607 定期受信後にフォーカスされるウNo.06608
yamakazu さん 20/04/13 21:04
 
ありがとうございます。

> 僕が書いたのは、「SetAutoPushTimerEverをコメントアウトする」です。

私の早とちりでした。申し訳ありません。感謝です。

[ ]