掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Timerイベント内でWindowsのシャットダウンを正常に行うには? (ID:108194)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
設定した時間が経過したらWindowsをシャットダウンするプログラムを 作っているのですが、正常にシャットダウンされません。 フォームにタイマーコントロールを貼り付け、 Interval = 1000 に設定し、テキストボックスに入力された値を タイマーイベント内で−1していき、 0以下になったらWindowsをシャットダウンするようにしてあります。 ただ、下のようなコードだとうまくいきません。 現象としては、全てのウィンドウが閉じ、 壁紙だけになった状態から、何も起こらないんです。 マウスカーソルと壁紙だけ表示されており、マウスカーソルは動くのですが、 キー入力等は一切反応しない状態になります。 ですが、 Timer1.Enabled = Falseの行のコメントをはずすと、 正常にシャットダウンされるんです。 ただ、それがなぜなのかが分かりません。 Private Sub Timer1_Timer() nLeftTime = nLeftTime - 1 If nLeftTime <= 0 Then ' Timer1.Enabled = False '←ここの行 ' Windowsの終了 Call ExitWindowsEx(enmShutdown, 0) End If End Sub なぜこういう質問をしたかというと、 別の環境では、コメントアウトしないと正常に動かず、 コメントをはずすと、シャットダウンされないという現象が起こるらしく、 もしかしたらTimer1.Enabledとは別の原因があるのかもしれないと 思ったからです。 もしTimer1.Enabled = Falseのやり方が合っているのでしたら、 なぜこれを行わないと正常に終了しないのかを 教えていただけないでしょうか。 どうか宜しくお願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.