VB.net 初心者です。
VB.net(2008 Express Editionを使用)で
自作exeを作りました。
内容は、
定期的に指定のAccessデータベースにアクセスして、
そのデータの状況によってexeが画面に表示される、
というような簡単なものなんですが、
このソフトが常駐していると、
シャットダウンを選択してもシャットダウンしません。
ログオフも同様です。
ちなみに
常駐時はタスクトレイにアイコンが表示されるように
なっているのですが、
そこからexeを終了してからシャットダウンを行うと
正常にシャットダウン出来ます。
Timerイベントやタスクトレイ関連のイベントは使用していますが、
特に特別なことはしていないのですが・・・
遅くてもシャットダウンされるならいいですが、
まったくシャットダウンされない状況に困っています。
なにか気が付くところや、
指摘などあればお願いしたく思います。
よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
お礼が遅くなりました。
お二方の意見を参考に色々試行錯誤してみたのですが、
なかなかうまくいかず、
結局下記の方法で解決するに至りました。
せっかく教えていただいたのに申し訳ありません。
今回教えて頂いた方法については、
もう少し勉強をしてみたいと思います。
ありがとうございました。
※サンプル
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
If flgClose = False Then
e.Cancel = True
Me.WindowState = FormWindowState.Minimized
End If
End Sub
Private Sub Form1_Closed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles MyBase.FormClosed
'タイマーコントロール破棄
Timer1.Dispose()
'タスクトレイ削除
NotifyIcon1.Visible = False
NotifyIcon1.Dispose()
GC.Collect()
End Sub
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_QUERYENDSESSION Then flgClose = True
MyBase.WndProc(m)
End Sub
No.1
- 回答日時:
SystemEvents_SessionEndingイベントを記述したらどうなります?
ログオフやシャットダウンをしようとしている時にイベントを受け取る、またキャンセルする
http://dobon.net/vb/dotnet/system/sessionending. …
早速のご回答ありがとうございます。
http://dobon.net/vb/dotnet/system/sessionending. …
を参考に色々やってみたのですがうまくいきません。
Form1_Load には他にも色々書いてあるので、
一番先頭に
AddHandler SystemEvents.SessionEnding, _
AddressOf SystemEvents_SessionEnding
を記入しました。
Form1_Closed には何も書いていなかったので
そのまま記入したのですが、
Form1_Closingというイベントは別で使用しています。
これは関係ないですか?
また、
Private Sub SystemEvents_SessionEnding( _
ByVal sender As Object, _
ByVal e As SessionEndingEventArgs)
…
End Sub
もForm1のクラスに書いているのですが、
別の場所に書かなくてはいけないのでしょうか?
あと今思ったのですが、
Form1はタスクトレイに生きているだけではなく、
起動時にMinimizedをして
「開いているけど見えていない」状態にしているのですが、
これも何か関係しているのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ノートパソコン シャットダウンを止めるには 1 2022/09/11 14:36
- デスクトップパソコン パソコンについて質問です。 指定時間に使ってなかったら シャットダウンするように設定したいのですが 1 2023/05/30 13:48
- Windows 10 パソコンが正常にシャットダウンしない。 こんばんは。 先日WindowsアップデートをしてWindo 2 2023/02/24 23:11
- デスクトップパソコン タスク、プログラム実行後に自動シャットダウンしたい 3 2023/08/25 18:01
- Windows 10 2023年05月03現在Win7sp1からWin10への無償アップグレードについて 6 2023/05/04 16:36
- ノートパソコン surface pro8シャットダウンせず発熱する 1 2022/08/20 02:55
- Windows 10 Windowsをキーボードのボタン操作でシャットダウンさせたい 4 2022/11/08 19:23
- デスクトップパソコン パソコンのこの症状に悩まされる。 6 2023/02/24 12:52
- Windows 10 更新プログラムの適用を止めたい 4 2022/11/04 01:25
- Windows 7 Media Playerが開かない。ファイルアイコンを右クリックしても「プロパティ」が表示されない。 2 2023/02/05 14:45
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数選択のListBoxでClickイベ...
-
リストビュー内でのドラッグ&...
-
【ASP2.0】TextBoxのフォーカス...
-
Ctrl+vのイベントを解除
-
【VB6】 変数1 = 変数1 Or $H2
-
DragEnterイベントについて(VS...
-
ポストバック(__doPostback)へ...
-
Accessの画面更新を一時的に停...
-
DataGridViewのチェックボック...
-
ブラウザの×ボタン(閉じるボタ...
-
コネクション・セッション・ト...
-
c# 文字列の最後から1文字削除...
-
3dsのyoutubeにログインできな...
-
ASP.NET ブラウザでボタンが表...
-
VBAでHTTPログイン
-
「押下」は「おうか」と読む?
-
asp.net メッセージボックス表...
-
同じソリューション内の別のプ...
-
PHPからWindowsログインユーザ...
-
コンピュータへの接続数が最大...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
複数選択のListBoxでClickイベ...
-
ポストバック時の画面スクロー...
-
【ASP.NET】マスターページに配...
-
C#でドラッグ&ドロップが機能し...
-
【VB6】 変数1 = 変数1 Or $H2
-
Ctrl+vのイベントを解除
-
【ASP2.0】TextBoxのフォーカス...
-
リストビュー内でのドラッグ&...
-
自作exeを常駐させるとPCがシャ...
-
[ASP.NET] ページ内でジャンプ。
-
ポストバック(__doPostback)へ...
-
aspxファイル実行時の表示順に...
-
ドラッグドロップ(AllowDrop)に...
-
C#のマルチスレッド処理について
-
slick.jsによるスライダー実装...
-
TreeViewの制御について
-
treeview展開イベント(VS2010C++)
-
コネクション・セッション・ト...
-
Accessの画面更新を一時的に停...
-
画面遷移が不正ですと表示されます
おすすめ情報