C++でサインアウトを検知したい

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
DAICHI0922
記事: 26
登録日時: 5年前

C++でサインアウトを検知したい

#1

投稿記事 by DAICHI0922 » 5年前

C++でRPG風のCUIアプリケーションを作成しています。

ユーザーがサインアウトまたはシャットダウンを行おうとしたことを検知し、一旦サインアウトを中止しユーザーにプログラムの正常終了を促すにはどうしたらよいのでしょうか。
(ガチャ要素などがあり、リセマラの防止などの観点で)

https://qiita.com/gocha/items/38e2301db ... ウトしてしまいました

イメージとしては、いったんプログラムのウィンドウに戻って、正常終了処理を行い、system関数から自動的にサインアウト~というのをイメージしています。

開発環境はVisualStudio2017でC++のWin32コンソールアプリケーションです。

YuO
記事: 947
登録日時: 13年前
住所: 東京都世田谷区

Re: C++でサインアウトを検知したい

#2

投稿記事 by YuO » 5年前

see) Shutdown Changes for Windows Vista | Microsoft Docs
Canceling shutdown | Note that the system does not allow console applications or applications without a visible window to cancel shutdown.
というわけで,Console ApplicationはShutdownをキャンセルできません。
おそらく,Log offもキャンセルできないかと。

さらに,Best Practicesには
Applications cannot rely on being able to block shutdown.
とあり,Log offやShutdownの中止に依存するようなプログラムは推奨されません。


そもそもの目的を考えると,Log offやShutdownでキャンセルできるような仕組みが問題です。
で,ユーザーがそれが可能であるのは,結果が確定されるのが,結果が表示された後になるからだと思います。
結果を生成した直後に確定し,その後に結果を表示すればよいのではないでしょうか。

返信

“C言語何でも質問掲示板” へ戻る