終了して再起動No.09936
山紫水明 さん 05/10/28 08:38
 
  こんにちは,山紫水明です。

 マクロで秀丸メールを常駐も含めて終了し,再起動する方法はありますか?
 コマンドラインを使うバッチファイルで何とかできないかなと考えましたが,
思いつきませんもので。

       では, (^^)/~

[ ]
RE:09936 終了して再起動No.09938
秀まるお さん 05/10/28 09:44
 
 何か適当なバッチファイルをマクロから生成してやって、それをrun文で実行
してから秀丸メールを終了させるとかって作戦はありかもしれませんが、秀丸
メールが終了したことを確認するようなバッチファイルの命令って無いですよね。

 秀丸エディタがインストールされているという前提でなら、秀丸エディタ側に
マクロをやらせて、それで秀丸メールを再起動させることは可能ですけど。

 汎用的で確実な方法というのは、ちょっと思いつかないです。なので、なんで
したら、秀丸メール側にそういう「再起動」関数を用意してもいいですけど。

 他のユーザー様から特にいいアイデアが無ければ作りたいと思います。

 が、その前に、その「再起動」の利用目的が何かだけでも教えて欲しいです。

[ ]
RE:09938 終了して再起動No.09939
山紫水明 さん 05/10/28 17:25
 
 秀まるおさん,

> が、その前に、その「再起動」の利用目的が何かだけでも教えて欲しいです。

 作業用にフォルダをいくつか作成します。用済みになったフォルダを削除しよ
うとするとき二重の確認があります。このフォルダの中のメールはコピーしたも
のなので,確認なしで削除してかまわないものです。しかし手動でもマクロでも
確認なしのフォルダ削除はできません。フォルダが多くなると少し煩わしいです。
 そこで田楽DLLで削除すると今度は画面にすぐには反映されず,再起動する
必要があります。
 確認なしのフォルダ削除ができればそれで解決ですが,そのような関数を用意
していただくかなくても,現状でできる方法はないかなと思った次第です。ある
いは田楽DLLでの削除の結果が画面にすぐ反映できればそれでもいいのですが。

     では, (^^)/~
                                        山紫水明
                                        SANSHISUIMEI

[ ]
RE:09939 終了して再起動No.09940
秀まるお さん 05/10/31 10:43
 
 ならば、フォルダ一覧のリフレッシュってことでいいですよね。

 RefreshFolderみたいな関数を追加します。

[ ]
RE:09940 終了して再起動No.09941
山紫水明 さん 05/10/31 19:55
 
 秀まるおさん,こんばんは。

> ならば、フォルダ一覧のリフレッシュってことでいいですよね。
> RefreshFolderみたいな関数を追加します。

 ありがとうございます。それで十分です。

                                        山紫水明

[ ]
RE:09941 終了して再起動No.09943
山紫水明 さん 05/11/01 21:08
 

 秀まるおさん,こんばんは。

> RefreshFolderみたいな関数を追加します。

 4.59β2 で早速追加いただきありがとうございました。動作確認しました。秀
丸エディタ経由という回りくどい方法に比べてすっきりしました。
 ところで,この読み込み直しの再描画には DisableDraw が効かないのは仕様
ですね。別に要望ということではありません。

     では, (^^)/~
                                        山紫水明

[ ]
RE:09943 終了して再起動No.09944
秀まるお さん 05/11/02 10:19
 
 DisableDrawが効かないということは無いと思いますが、画面がまったく描画
されないという動作にはらならずに、フォルダ枠が真っ白になってしまうようで
す。これはこれで仕様でもいいかなぁと思いますけど。
 (たぶん、WM_ERASEBKGNDだけ処理してるせいだと思うけど)

 しいて真っ白にすらもならないように直そうと思えば直せますが、仕様でもい
いって話のようなので、しいて直さないでおきます。(下手にいじってレベルダ
ウンするといやだしってことで)

[ ]
RE:09944 終了して再起動No.09945
秀まるお さん 05/11/02 12:47
 
 ちなみにDisableDrawする時のパラメータに1を指定しないとフォルダ枠は描画
されてしまいます。

 (っと一応書いておく)

 テストマクロの例:

    loaddll "tkinfo.dll";
    #n = dllfunc("DisableDraw", 1);
    #n = dllfunc("RefreshFolder");
    message "test.mac";
    #n = dllfunc("EnableDraw");

[ ]
RE:09945 終了して再起動No.09946
山紫水明 さん 05/11/02 20:09
 
 秀まるおさん,こんばんは。

> ちなみにDisableDrawする時のパラメータに1を指定しないとフォルダ枠は描画
>されてしまいます。

 このパラメータのことをうっかりしていました。これで大分使い勝手が向上しま
した。
     では, (^^)/~
                                        山紫水明

[ ]