• 締切済み

常駐するアプリケーションを初めて作成したのですが、Windowsが落ちません。

VB2008でタスクトレイにアイコンを表示して、常駐するアプリケーションを初めて作成したのですが、Windowsのシャットダウンするときに、この常駐アプリを手動で終了させないとWindowsが落ちません。 何かプログラムで足りないところがあるのでしょうか? 逆にWindowsを終了させないってある意味凄いですが、そのような仕組みはWindowsにあるのでしょうか? たまたまだったのでしょうか?

みんなの回答

  • hornet3
  • ベストアンサー率19% (12/62)
回答No.4

ちょっとうろおぼえで申し訳ないんですが、VB2005で、タスクトレイにアイコンを表示しているときは、FormClosingイベントのeが、CloseReason.WindowsShutDownのとき、明示的にタスクトレイアイコンを解放した覚えがあるんですが・・・。 FormClosingイベントがとれない場合も、OSのシャットダウンを検知して明示的にタスクトレイアイコンを解放しなければならないのかもしれません。 自信はないです。

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.3

FormClosingイベントでシャットダウンを拒否しているとか。 下のサンプルは、CloseReason.WindowsShutDownのときも Cancelしているのがまずそうです。

参考URL:
http://www.atmarkit.co.jp/fdotnet/dotnettips/394noformicon/noformicon.html
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

サービスでしょうか? シャットダウンのエントリにバグがあるのではないですか? あるいはデスクトップとの対話が不可なのにメッセージボックスを 表示するとか・・・ サービスでないとすると、WM_CLOSEを処理しないとかあります。 先ずは常駐形態を提示してください。

  • tatsu01
  • ベストアンサー率18% (292/1540)
回答No.1

プログラムの事はわかりませんが、 >逆にWindowsを終了させないってある意味凄いですが、~ 業務で使っていて間違えてPCを落とされたら困る場合、そういう作りの アプリケーションにしたりしますよ。 終了プロセスに進めないようにするというのはできます。 (作ってもらいました) su31foxさんの場合、これが意図的ではないため困っているようですが・・

関連するQ&A

  • タスクトレイの常駐解除後について

    VB6(SP6)にてタスクトレイに常駐するプログラムを作成しました。 そして、プログラムを終了するとき下記コードにて常駐を解除しています。 Private Sub Form_Unload(Cancel As Integer) 'タスクトレイのアイコンを消去 ingAPIReVal = Shell_NotifyIcon(NIM_DELETE, nidNoftyIconData) '終了 End End Sub プログラムは無事終了するのですが、タスクトレイにアイコンが残ってしまいます。 マウスをタスクトレイに近づけると消えるのですが... 極端な話 5回実行・終了を繰り返すと、同じアイコンが5個並び...マウスを近づけると一気に消えてしまいます。 プログラムの動作に問題はないのですが、あまり体裁が良いとは思えず どうにかならないかと質問させて頂きました。 対処方法をご存じの方、ご教授下さいm(__)m

  • 自作exeを常駐させるとPCがシャットダウン出来ない

    VB.net 初心者です。 VB.net(2008 Express Editionを使用)で 自作exeを作りました。 内容は、 定期的に指定のAccessデータベースにアクセスして、 そのデータの状況によってexeが画面に表示される、 というような簡単なものなんですが、 このソフトが常駐していると、 シャットダウンを選択してもシャットダウンしません。 ログオフも同様です。 ちなみに 常駐時はタスクトレイにアイコンが表示されるように なっているのですが、 そこからexeを終了してからシャットダウンを行うと 正常にシャットダウン出来ます。 Timerイベントやタスクトレイ関連のイベントは使用していますが、 特に特別なことはしていないのですが・・・ 遅くてもシャットダウンされるならいいですが、 まったくシャットダウンされない状況に困っています。 なにか気が付くところや、 指摘などあればお願いしたく思います。 よろしくお願いします。

  • JavaでWindowsのタスクトレイに常駐するプログラムを書きたいの

    JavaでWindowsのタスクトレイに常駐するプログラムを書きたいのですが、どうやれば出来るでしょうか?

    • ベストアンサー
    • Java
  • 常駐をやめたい

    右下のトレイのアイコンを減らしたいんですが、OSを2000にしてから、その方法が分かりません。 常駐解除の方法を教えてください。 ちなみに常駐プログラムは、 ・Create CD ・Winamp ・Windows update ・ハードの取り外し ・IME(ペンのアイコン) です。各プログラムの設定から、常駐を解除できるかもしれないと思い試みましたが、わかりませんでした。 よろしくお願いします。

  • OSシャットダウン時の常駐アプリ終了について

    現在VB2005にて常駐アプリの開発を行っています。 OSはWindowsXPです。 起動はOS起動時にスタートアップより起動するのですが、 OSのシャットダウン時に常駐アプリが終了していない為、 「このプログラムからの応答がありません(待機、終了、キャンセル)」が表示されます。 この方法を回避するには、シャットダウンを常駐アプリ側で検知してアプリ自身が終了処理をすると思いますが、方法がよくわかっていません。 http://dobon.net/vb/dotnet/system/sessionending.html ↑のURLを参照してみたのですが、シャットダウン時にメッセージの表示はされるのですが、メッセージ表示部をアプリ終了処理に置き換えても、終了処理が行われませんでした。 どなたか、お分かりになる方ご教授いただければと思います。

  • タスクトレイに常駐させたい

    以前、CPU負荷などをチェックするためにタスクトレイに常駐していたアプリケーションを停止させたのですが その後Windowsを起動しても、FWやサウンドとオーディオデバイスなどがタスクトレイに常駐しなくなってしまい困っています。 色々と調べてはみたのですが解決方法がわかりません。 システムの復元を使ってしまえば早いのはでしょうが、その後も色々なソフトをインンストールしたりしたのでどうしても避けたいです。 どういった操作を行えばタスクトレイに常駐させることができるのでしょうか? ご回答御願いします。

  • Skypeの常駐をやめるには

    Skypeを更新してから、タスクトレイにPCを起動するたびに常駐してきます。その都度終了させてますが。 これを起動時に常駐しないようにする方法を教えてください。 OSはWindows8.1です。 宜しくお願いします。

    • ベストアンサー
    • Skype
  • Console Applicationをタスクトレイに常駐できますか?

    タイトル通りの質問です。 あんまりそういうソフト見たこと無いので、もしかしたら 出来ないんじゃないかと思ったりもしています。 Console Applicationをタスクトレイに常駐できるのでしょうか? 以上よろしくお願いします。

  • アプリケーションの常駐

    よくアプリケーションをインストールする時にすべてのプログラムを終了させてください。 などのメッセージが出ますが実際常駐していてもインストールは可能ですが、実際どのような 事を想定してこのようなメッセージが出るのでしょうか? また、どのような問題が起きたりするのでしょうか?

  • WindowsXP 常駐アイコン消える・・・

    ウイルスバスターをインストールし直し、 再起動したところ WindowsXpのタスクトレイより 常駐アイコンが表示されなくなりました。 タスクトレイに常駐アイコンを再表示させる為には どうしたらよろしいのでしょうか お教えください。 よろしくお願いいたします。

専門家に質問してみよう