起動時の送受信で待ち時間設定を希望No.19579
白森 風 さん 04/08/26 20:42
 
以前、秀丸の方で幾つかお世話になりました白森 風と言う者です。

鶴亀メールにも長らくお世話になっておりますが、ウィルスメールが増えてきた昨今、
気になっている点があります。
いくつかのキーワードで過去ログも検索してみたのですが、似たような記事が特に見
あたりませんでしたので、書き込ませて頂きます。万一重なっていたら申し訳ありま
せん。

●状況

自分ではNortonInternetSecurityと付随するNortonAntivirusを使用しています。
鶴亀メールで起動時の送受信を指定しますと、こういったセキュリティシステムの前
に受信を開始し、プロテクトがかかる前にウィルス入りメールを受信してしまうよう
です。
後から起動してリモートメール操作で同じメールを再受信した場合は、正しくウィル
ス除去され、何の問題も生じません。

更にウィルス入りメールを受信してしまうと、NortonAntivirusと鶴亀メールが受信
ファイルの支配権を争って、挙動が異常になります。

●希望すること

1.起動時の送受信に、待ち時間を指定できるようにならないでしょうか?
セキュリティソフトの完全起動後に送受信が行われれば、とりあえず問題を回避でき
ると思います。
(本当ならセキュリティソフトで、ネットワークアプリのスタートアップを行ってく
れると確実だと思うのですが。)

2.これは難しいと思いますので、できればの話ですが、AntiVirusソフトとファイ
ルアクセスが重なったときに、正常挙動してくれるとありがたいです。


安全性から言えば、自分で手作業で起動するのがベストかもしれませんが、やってい
みると立ち上げ忘れが多く諦めました。
我が儘かもしれませんが、ご考慮いただけると幸いです。


それでは、また。

[ ]
RE:19579 起動時の送受信で待ち時間設定をNo.19580
たけのこ さん 04/08/26 20:54
 
一般ユーザのたけのこです。

こんなマクロを鶴亀メール起動時の自動起動マクロに設定しておくというのはど
うでしょう? 待ち時間はwait(msec単位)で変更してください。

#kicked = tickcount;
#wait = 60 * 1000;
while(tickcount - #kicked < #wait);


(^^)/”

[ ]
RE:19579 起動時の送受信で待ち時間設定をNo.19585
PATIO さん 04/08/27 09:41
 
PATIO@ユーザーです。

確かスタートアップの起動順番を変えたり、
特定のソフトの起動時にウエイトをかけるとか
そういう事が出来るソフトが公開されていたと思うんですが、
まだ試した事がないということなら一度試してみてはどうでしょう。
起動時の順番とかタイミングが問題ならそれで解決できると思います。

[ ]
RE:19580 起動時の送受信で待ち時間設定をNo.19587
白森 風 さん 04/08/27 10:52
 
情報ありがとうございます。

この方法ですと、マクロ処理のCPU負荷が100%になってしまうため、他のソフ
トの動作が悪くなると思います。

プロセスのスリープを行う関数がマクロにあると良いのですが。
ライブラリのDLLは、見た目無さそうでした。
(そもそもOSの仕組み上DLLでスリープ出来るのかどうか、知識もないのでわか
りませんが。)




[ ]
RE:19585 起動時の送受信で待ち時間設定をNo.19589
白森 風 さん 04/08/27 11:00
 
vectorのシステム起動・終了あたりに、幾つかツールがあるようですので、試してみ
ます。
情報ありがとうございました。

[ ]
RE:19579 起動時の送受信で待ち時間設定をNo.19603
秀まるお2 さん 04/08/27 16:34
 
 とりあえず、起動を遅らせるソフトで解決いただくということですが、同じ話
は他のユーザー様にも該当する訳なので、やはり鶴亀メール側で適当に対処した
方がいいような気はします。ただ、具体的にどう対処すればいいのかはよく分か
りません。

 アンチウィルスソフトやファイヤウォール系ソフトがちゃんと起動したかどう
か確認する手段が分からないし、そもそもそれを知る方法があるかどうかも疑問
です。

 そもそも、同じ問題は鶴亀メールに限らず起きるはずなので、アンチウィルソ
フトなりファイヤウォール系ソフトの方でなんとかしないとどうにもならない気
もしますけど。

 何かいいアイデアがあれば教えて欲しいです。>誰か

[ ]
RE:19603 起動時の送受信で待ち時間設定をNo.19613
Iranoan さん 04/08/27 18:29
 
 秀まるおさん今日は、Iranoan です。
>  何かいいアイデアがあれば教えて欲しいです。>誰か
 安直な方法としては、
> 1.起動時の送受信に、待ち時間を指定できるよう
だと思います。あとはユーザが環境に併せて時間を設定すると思います。また
鶴亀側でこれに加えて、Windows を起動してから、若しくはログインしてから
の時間がある一定時間以内、という条件に限れば、更に良いと思います。

[ ]
RE:19603 起動時の送受信で待ち時間設定をNo.19614
白森 風 さん 04/08/27 18:34
 
お返事ありがとうございます。

私はユーザとしてもプログラマとしても中途半端な素人なので、推測しかできません
が、やはり「漏れのない完全な対策」を求めるにはセキュリティ側の対処が不可欠だ
と思います。

そも、セキュリティソフトは常駐するわけで、プロセス面での外からの「起動終了」
判定は難しそうに思えます。そのままオンラインアップデートが始まる場合もありま
すし。

「監視」の方法を知って「監視されているか否か」を判別するなら可能でしょうが、
ウィルス対策ソフトとOSの組み合わせ全てで有効な判別方法があるかどうか。

最終的に何らかの方法があるにしても、下手にいつまでも送受信しない判定よりは、
不確実でも時間制限の方が良いという考え方もあると思います。

以上、あまり参考にならない駄文で済みません。

[ ]
RE:19614 起動時の送受信で待ち時間設定をNo.19615
秀まるお2 さん 04/08/27 18:45
 
 Iranoanさんの話とも重なりますが、やはり、Windows起動から何秒間かは送受
信を出来なくするというか、つまり、送受信系のコマンドが実行されても
Windows起動から指定された時間以内であれば、しばらく待機するという、そう
いうオプションを追加することにします。

 そして、その時間はデフォルトで適当に10秒くらいにしようかと思いますが
…。参考までに、どのくらい待つのが適当か分かれば教えて欲しいです。

 (自分のマシンにはアンチウィルスソフトは入れてないのでよく分からない)

[ ]
RE:19614 起動時の送受信で待ち時間設定をNo.19617
アルビレオ さん 04/08/27 19:55
 
鶴亀ユーザーのアルビレオです。

>私はユーザとしてもプログラマとしても中途半端な素人なので、推測しかできません
>が、やはり「漏れのない完全な対策」を求めるにはセキュリティ側の対処が不可欠だ
>と思います。

NortonAntiVirusの場合、Win9xだとシェルが起動する前にNAVが稼動していたの
でこういうことはなかったんですけどね。

ちなみにWindowsXP SP2のファイヤーウォール機能はネットワークの接続開始前
に確実に起動されるように変更されるそうです。
http://www.itmedia.co.jp/enterprise/articles/0408/16/news006.html
サードパーティー製のソフトもこのタイミングで起動できるようになるのかはま
だはっきりしませんが、もし可能ならばきっと将来のバージョンのNAVではこれ
を利用するでしょう。

今のところは他の方が紹介している方法を使うか、
・スタートアップに鶴亀をいれない
または
・鶴亀起動時に自動受信しない
というのが、多少不便にはなりますが確実な方法ではないかと思います。

[ ]
RE:19579 起動時の送受信で待ち時間設定をNo.19621
近田 さん 04/08/27 21:04
 
以下のようなマクロを使うと、鶴亀の起動を待たせることが出来ます。
また、たけのこさんのコメントに白森 風 さんが答えられたように、CPUを空費する
こともありません。(Windowsタスクマネージャにて、実測しました)

マクロ中の ##machi で待ちの総秒数を、また ##tick でユーザの意向を聞く間隔の
秒数を指定できます。

  openreg "CURRENTUSER","Software\\Hidemaruo\\TuruKame\\Config";
  $turudir=getregstr("TuruKameDir");
  closereg;
  loaddll $turudir+"TKInfo.dll";

    ##machi=60;##tick=10;
    ##i=##machi;
    while(##i>1) {
      ##res = dllfunc("SetAutoPushTimer", ##tick, "no");

      ##res=dllfunc("Bypass_MessageBox",hidemaruhandle(0),
          "Windows起動時にする動作を準備しています。\n\n"
          +"忙しい時間だと、誤作動するので、時間待ちしています。\n"
          +"あと"+str(##i)+"秒、お待ちください。"
          +"\n\n急ぐ場合は「はい」を押してください。"
          +"\n\nWindows起動時にする動作をやめたい場合は"
          +"「キャンセル」を押してください。"
                  ,"鶴亀起動を待たせています",0x1143);
      if(##res==6) break; else if(##res==2) exit;
      ##i=##i-##tick;
      }
message "待機完了";

[ ]
RE:19615 起動時の送受信で待ち時間設定をNo.19623
白森 風 さん 04/08/27 21:52
 

> そして、その時間はデフォルトで適当に10秒くらいにしようかと思いますが
>…。参考までに、どのくらい待つのが適当か分かれば教えて欲しいです。
>
> (自分のマシンにはアンチウィルスソフトは入れてないのでよく分からない)




今使っているデスクトップの起動は、経験上比較的早いと思っていますが、それでも
スタートアップが完了するまで20〜30秒程度は必要なようです。

HDD 250G 7200rpm ATA133
P4−2.6 (NWコア)
DDR3200(800MHzFSB)

セキュリティ以外のスタートアップ
秀丸・鶴亀・SoundMAX・memclean・Deamon−Tool・Mi
crosoftマウス・NVDIA・OSなど不明なものいくつか

アンチウィルスソフトはパターンのバージョンアップに従って、ファイル断片化され
たり内周に移動したりで、次第に遅くなる傾向がありそうです。

ノート型PCなどは、お仕着せのスタートアップが大量にあるので、少なくとも5分
程度までは設定できる方が良いかと思います。


[ ]
RE:19617 起動時の送受信で待ち時間設定をNo.19626
白森 風 さん 04/08/28 10:39
 
>サードパーティー製のソフトもこのタイミングで起動できるようになるのかはま
>だはっきりしませんが、もし可能ならばきっと将来のバージョンのNAVではこれ
>を利用するでしょう。

見た感じでは、Windows内蔵ファイヤウォールだけの話のような気がしますね。
実はSymantecのサポート情報に
http://service1.symantec.com/SUPPORT/INTER/nisjapanesekb.nsf/5c25cb36d39ae4e
188256db3006015f4/91dcd0f4748bf74788256b090069e8fd?OpenDocument
などという代物がありまして。
スタートアップを最後にしないと、正しく動作しないというのですから、話が逆です
よね。

まぁ接続を遮断すればよいファイヤウォールと異なり、ウィルス対策に対してOSが
規定の手段を与えてしまうと、そこを攻撃するウィルスが現れるという可能性もあっ
て、難しいところかもしれません。

ともあれ次バージョンを買うときには、ダメ元でユーザ登録アンケートに書いておこ
うと思います。

・・・鶴亀から話がそれました。

> 今のところは他の方が紹介している方法を使うか、
> ・スタートアップに鶴亀をいれない
> または
> ・鶴亀起動時に自動受信しない
> というのが、多少不便にはなりますが確実な方法ではないかと思います。

スタートアップを標準の最小化するタイプでなく、普通のショートカットにしてしま
えば、鶴亀が開くので忘れずに済む・・・と思ったのですがダメなときはダメでした。
どうも鶴亀でなく人間を改良する必要がありそうです。

では。

[ ]
RE:19615 起動時の送受信で待ち時間設定をNo.19627
白森 風 さん 04/08/28 10:46
 
ひとつ、気づいたことがありましたので、書き記します。

ウェイトを掛けるのはスタートアップからの起動に限定されないと、使い勝手が悪い
と思われます。

従いまして、コマンドラインオプションと連動させるなどの処理が必要かと思います。

既にお気づきかもしれませんが、念のため。

[ ]
RE:19626 起動時の送受信で待ち時間設定をNo.19628
たけのこ さん 04/08/28 11:06
 
一般ユーザのたけのこです。

> スタートアップを最後にしないと、正しく動作しないというのですから、話が逆です
> よね。

何処にもそんなことは書いてませんが……書いてあることは、サービス起動をや
めて、スタートアップ起動にしなさいって意味ですよ。

(^^)/”

[ ]
RE:19621 起動時の送受信で待ち時間設定をNo.19629
白森 風 さん 04/08/28 11:08
 
ありがとうございました。早速登録して使用しています。
ご参考までに言いますと、最後の1行はそのままだと送受信が自動開始しないので削
除しました。
(もともと自動動作を求めている訳ですので)

秀まるお2様の方の分岐でも書きましたが、マクロでコマンドラインオプションを取
得するとか、「常駐鶴亀」と通常の起動を区別するような方法があれば、通常起動時
に待機をスキップすると更に良くなると思います。


[ ]
RE:19628 起動時の送受信で待ち時間設定をNo.19633
白森 風 さん 04/08/28 14:00
 
あまり鶴亀からずれた話題は続けたく無いのですが・・・

おっしゃっていることは解るつもりですが、行為は何でも、結局は
「読み込まれるタイミングを変更する(これは最初に明記されています)」
=「起動順を後にする(これは推測です)」
ことによる解決だと思います。


まぁ私が向こうの立場で読んだら「障害を起こしている競合相手のアプリが悪い。そ
のための緊急回避手段に過ぎないのに、悪し様に言われるのは心外だ」と思うかも知
れません。

でも、そもそも障害を起こすアプリよりも「前」に完全に起動して欲しいと言ってい
るわけですからね。
根本的にこんな問題は起きない構造を望むわけです。

[ ]
RE:19627 起動時の送受信で待ち時間設定をNo.19639
アルビレオ さん 04/08/28 21:31
 
アルビレオです。

>ウェイトを掛けるのはスタートアップからの起動に限定されないと、使い勝手が悪い
>と思われます。

そういうことなら鶴亀が起動してから一定時間待つのではなく、一定時間待って
から鶴亀を起動するようにすればどうでしょうか?

バッチファイルでも↓のようなコマンドを用意しておけば簡単にできます。
http://www.vector.co.jp/soft/win95/util/se282254.html

使ったことがないので詳しくはわかりませんが、WSHなら何も追加しなくても
「一定時間待ってからプログラムを起動」というスクリプトを書けたはずです。

[ ]
RE:19639 起動時の送受信で待ち時間設定をNo.19640
秀まるお2 さん 04/08/28 22:10
 
 あのー、なんだか作者ほったらかしで「ああすればいい」ってことで話が進ん
でますけど、僕がちゃんと対応すると言ってるんだから、変な方向に持って行か
ないで欲しいです。

 そんなこと書く暇があったら、1つ教えてください。Windowsにログインした
時刻を取得する方法教えてください。

 Windowsが起動してから何秒経過したかは、GetTickCount()で分かるんですけ
ど、ログインしてから何秒経過したかを調べる方法がいまいち分かりません。き
っとWindows2000/XPでの取得方法はあるんだと思うんですけど、Windows98系で
は取得できないような気がします。

 ということで、もし分からなければ分からないなりに、Windows起動から一定
時間は送受信を待機させるような作りにしようかなぁと今考えてる所です。

[ ]
RE:19640 起動時の送受信で待ち時間設定をNo.19644
アルビレオ さん 04/08/29 01:42
 
アルビレオです。

> あのー、なんだか作者ほったらかしで「ああすればいい」ってことで話が進ん
>でますけど、僕がちゃんと対応すると言ってるんだから、変な方向に持って行か
>ないで欲しいです。

そうですね。すみません。

> そんなこと書く暇があったら、1つ教えてください。Windowsにログインした
>時刻を取得する方法教えてください。

例によってNT/2000/XPのみとなりますが、GetProcessTimes()でプロセスの起動
時刻を知ることができるので、explorer.exeのなかで一番古い時刻のものを探せ
ば「シェルが起動した時刻≒ログインした時刻」といえると思います。

[ ]
RE:19644 起動時の送受信で待ち時間設定をNo.19654
秀まるお2 さん 04/08/30 11:53
 
 情報ありがとうございます。

 GetProcessTimes関数にはプロセスハンドルが必要なんですが、explorerその
他のプロセスハンドルを取得するにはEnumProcessesしたりOpenProcessしたりと、
結構重い処理が必要でして、鶴亀メール起動時に毎回実行してから起動が遅くな
るような気がします。psapi.dllをロードすることになるからその分は確実に重
くなるし…。

 そもそもWindows98系では使えないたらダメだし…。

 ということで何かもっといい方法は無いかなぁと思いつつ、やはりいい方法は
無いだろなぁということで、GetTickCount()を使う方法で済ませようかなぁと思
います。

[ ]