1709で、サインアウト(ログオフ)のデフォルトの挙動が変更されました。アプリは常にリスタートマネージャーによる再起動の対象となります。10は、半年に一度くらいの頻度で、アップグレードされます。そのアップグレードごとに、Windowsの機能が追加や更新されていきます。Update)で、リスタートマネージャーに関係するWindowsの振る舞いに変更が入りました。Vistaで導入されたリスタートマネージャーによるアプリの再起動は、インストーラーなどが更新対象のファイルが使用中で置き換えができないときに発生しました。1709では、通常の再起動やシャットダウンに伴うユーザーのサインアウト・サインイン(ログオフ・ログオン)のときもリスタートマネージャーによるアプリの再起動の対象となりました。アプリが再起動しないようにすることができます。「設定」→「アカウント」→「サインインオプション」→「プライバシー」で変更できます。「サインイン情報を使用してデバイスのセットアップを自動的に完了し、更新または再起動後にアプリを再び開くことができるようにします。アプリは再起動しなくなります。(設定→アカウント→サインインオプション→「プライバシー」)実際にアプリの再起動を確認する前回の投稿で説明したように、アプリの再起動を確認するためにテストツールを作成しました。ダウンロードはこちらです。zipファイルの中には二つのEXEファイルがあります。64ビットWindowsの両方で起動できます。RestartManagerTest64.exeは64ビットアプリで、64ビットWindowsのみで起動できます。1809での再起動の振舞の確認をします。事前にアプリの再起動を登録するまず、WM_QUERYENDSESSIONメッセージを受信する前にアプリの再起動の登録をする場合です。toolを起動します。ボタンをクリックして、アプリの再起動を登録します。サインインした後、アプリが自動的に起動します。想定通りに、Windowsの再起動後のサインインで、アプリが再起動します。WM_QUERYENDSESSIONメッセージを受信したときにアプリの再起動の登録する次に、WM_QUERYENDSESSIONメッセージを受信したときにアプリの再起動の登録をする場合です。toolを起動します。サインインした後、アプリが自動的に起動しません。あれっ、なぜかWindowsの再起動後にアプリが起動してきませんね。本来の仕様では、アプリが再起動するはずです。(0x00000001)フラグがセットされた状態で受信できています。アプリの再起動の登録のAPI(RegisterApplicationRestart())の呼び出しも成功しています。RegisterApplicationRestart()の呼び出しは、WM_ENDSESSIONメッセージの処理中は無効であるが、WM_QUERYENDSESSIONメッセージの処理中は有効であり、呼び出して設定を更新できる最後のタイミングであるとAPIの仕様(英語)に記載されています。そのため、Windowsのバグのような気がします。フィードバックHubにバグとして登録フィードバックHubアプリを使って2018年12月14日にWindowsのバグとして登録しました。登録したのは以下の項目です。タイトル:WM_QUERYENDSESSIONのタイミングにおいてRegisterApplicationRestart()での登録が反映されない日本語版のフィードバックHubに登録したので、日本語版からしか検索できないと思います。修正されるとよいですね。