ダイアログベースでシャットダウン処理を入れる場所 – プログラミング – Home

ダイアログベースでシャットダウン処理を...
 
通知
すべてクリア

[解決済] ダイアログベースでシャットダウン処理を入れる場所


Mr.Boo
 Mr.Boo
(@Mr.Boo)
ゲスト
結合: 19年前
投稿: 15
Topic starter  

開発環境 VC++ Ver6.0 SP6 MFC
マシンOS Windows XP HOME(最終的にはXP Pro)

上記環境で、ダイアログベースのアプリを作っています。

アプリの終了ボタン選択で、PCもシャットダウンし電源を切ろうと考えています。
方法は特権を設定した後、ExitWindowsExかInitiateSystemShutdownで行おうとしており
実際に、PCがシャットダウンすることを確認しました。

但し、よくわからないのが、そのシャットダウン処理をどこに入れればいいのかです。
基本的にタイムラグを持たずに、強制的に終了させることを考えているので、変な所に
入れてもまずいかなと思っています。

取り敢えず、テスト段階ではOnDestroy中の最後の方に入れていますが、この後外部の制
御ハードの終了処理も入れていきたいので、出来るだけ安全な箇所でシャットダウンさせ
たいのです。

どうか知恵をお貸し下さい。


引用未解決
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

終了処理が終わったあとで ExitWindowsEx を呼び出せば心配ないと思いますが。
そういう話ではないですか?

シャットダウンの指示を出すと OS は全プロセスの終了を待ってから
終了しますから、微妙な呼び出しタイミング等は気にかけなくてよいです。


返信引用
Mr.Boo
 Mr.Boo
(@Mr.Boo)
ゲスト
結合: 19年前
投稿: 15
Topic starter  

dairygoodsさん、アドバイスを有り難う御座います。

> 終了処理が終わったあとで ExitWindowsEx を呼び出せば心配ないと思いますが。
> そういう話ではないですか?
当然ハードの終了処理が終わってから、シャットダウン要求を出します。
でないと、ちょっと恐ろしいことになりそうなので。

> シャットダウンの指示を出すと OS は全プロセスの終了を待ってから
> 終了しますから、微妙な呼び出しタイミング等は気にかけなくてよいです。
アプリがきちんと終了する前に、シャットダウンしないか不安だったので、こんな質問を
出させていただきました。

色々な状況を考えると、終了確認を出さずに、シャットダウンするのは、よくないので、
InitiateSystemShutdownでタイムアウトを設定しようと思います。

有り難う御座いました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました