DOBON.NET DOBON.NETプログラミング掲示板過去ログ

コンピュータ起動完了の取得

環境/言語:[vb.net 2005]
分類:[.NET]

2009/06/15(Mon) 14:21:25 編集(投稿者)
2009/06/15(Mon) 14:16:13 編集(投稿者)
2009/06/15(Mon) 14:14:37 編集(投稿者)

いつもお世話になっております。

自作アプリをスタートアップに設定してコンピューター起動時に実行したいと思っています。

スタートアップに設定すれば起動することはできますが、
時と場合によって、アプリが固まってしまうことがあります。
原因がわからないので回避策を考慮しています。

その回避策として、コンピュータ起動が完了してから処理を実行するといった方法を考えているのですが、コンピュータ起動が完了したというイベントやメッセージの取得がわかりません。
そもそもそんなものが取得できる気はしてないですが・・・^^;
なので、
自作アプリ起動時に処理を待機し、セキュリティソフトなど全てのスタートアッププログラムが起動した後にメイン処理を実行できればと思っていますが、実現可能でしょうか?
(漠然としてうまく説明できてない・・m(..)m)

処理イメージ
Sub main

If 起動完了したかどうかのフラグ = False Then
sleep(5000)
end if

'アプリケーションの起動
Application.Run(メインフォーム)

end sub


実現可能であれば方法やヒントをいただきたいと思います。

以上

ご教授願います。
> スタートアップに設定すれば起動することはできますが、
> 時と場合によって、アプリが固まってしまうことがあります。
> 原因がわからないので回避策を考慮しています。

  起動直後は、CPU負荷も高く、HDDアクセスも頻繁なので、そういう
  問題が起きるのでしょう〜

> その回避策として、コンピュータ起動が完了してから処理を実行するといった方法を考えているのですが、コンピュータ起動が完了したというイベントやメッセージの取得がわかりません。

  そういうものはありません。

> そもそもそんなものが取得できる気はしてないですが・・・^^;
> なので、
> 自作アプリ起動時に処理を待機し、セキュリティソフトなど全てのスタートアッププログラムが起動した後にメイン処理を実行できればと思っていますが、実現可能でしょうか?
> (漠然としてうまく説明できてない・・m(..)m)

  私も実際に作ったことありますが・・・
  方法として・・・(あくまで参考!)
  1. 一番最後に起動するであろうWindowsサービスに目星をつけ
    それが起動してからある一定時間経過したら、該当ソフトを
    起動させる
  2. CPう負荷率を監視し、ある一定時間、ある一定値以下になった
    時点で街頭ソフトを起動させる。

  私はWindowsサービスにそのような監視機能を作って行っていますが
  簡単に・・・と言うことであれば、そのソフトの起動時点で、CPU
  負荷を監視する機能を設け、CPU負荷が高ければ待ち合わせるよう
  にすればよいかと・・・

以上。
オショウ様
本当にいつもありがとうございます。
(心の片隅でオショウ様がまた答えてくれるかなぁなんて思ってました^^)

コンピュータ起動が完了したというイベントやメッセージの取得ができないということなので、他の回避方法を検討しようとおもいます。


教えていただいたCPU負荷を監視し、起動タイミングをずらす方法を実装し、
よりエラー確立を下げるような処理を調査検討追加していきたいと思います。

ありがとうございました!


■No24750に返信(オショウさんの記事)
>>スタートアップに設定すれば起動することはできますが、
>>時と場合によって、アプリが固まってしまうことがあります。
>>原因がわからないので回避策を考慮しています。
>
>   起動直後は、CPU負荷も高く、HDDアクセスも頻繁なので、そういう
>   問題が起きるのでしょう〜
>
>>その回避策として、コンピュータ起動が完了してから処理を実行するといった方法を考えているのですが、コンピュータ起動が完了したというイベントやメッセージの取得がわかりません。
>
>   そういうものはありません。
>
>>そもそもそんなものが取得できる気はしてないですが・・・^^;
>>なので、
>>自作アプリ起動時に処理を待機し、セキュリティソフトなど全てのスタートアッププログラムが起動した後にメイン処理を実行できればと思っていますが、実現可能でしょうか?
>>(漠然としてうまく説明できてない・・m(..)m)
>
>   私も実際に作ったことありますが・・・
>   方法として・・・(あくまで参考!)
>   1. 一番最後に起動するであろうWindowsサービスに目星をつけ
>     それが起動してからある一定時間経過したら、該当ソフトを
>     起動させる
>   2. CPう負荷率を監視し、ある一定時間、ある一定値以下になった
>     時点で街頭ソフトを起動させる。
>
>   私はWindowsサービスにそのような監視機能を作って行っていますが
>   簡単に・・・と言うことであれば、そのソフトの起動時点で、CPU
>   負荷を監視する機能を設け、CPU負荷が高ければ待ち合わせるよう
>   にすればよいかと・・・
>
> 以上。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板