ぺんちゃん日記

食と歴史と IT と。 Web の旅人ぺんじろうが好奇心赴くままに彷徨います 。

タスクスケジューラでシャットダウンするとログイン画面でスクリーンキーボードが表示されない。

PC のシャットダウンをタスクスケジューラで夜中に行うことにしました。
それ以来 PC の起動時にスクリーンキーボードが表示されなくなりました。

PC 起動時のロック画面でスクリーンキーボードを常時表示する設定は以前に行いました。
スクリーンキーボードのオプションから コンピュータの簡単操作センターを開いてスクリーンキーボードを使うようにチェックを入れるんでしたね。
手動で PC を再再起動またはシャットダウンした時は、この設定によってきちんとスクリーンキーボードが表示されます。

しかしタスクマネージャから自動でシャットダウンした時だけ表示されませんので、画面右下の簡単操作からスクリーンキーボードを表示しなければなりません。
ついでに言うならマウスポインターの移動速度がとても遅い。
いつもの設定ならもっと素早く動きます。



こんな現象はどこかで見たことありますね。
普段使っているアカウントとは違うユーザでログインした状態でシャットダウンした時です。

想像の域を出ませんが、起動時のログイン画面は前回シャットダウンしたユーザの設定に従うのではないでしょうか。
タスクマネージャーからシャットダウンのバッチファイルを起動すると systemユーザとして実行されるかと思います。
そのアカウントのログイン時の設定が Windows のdefault設定だからスクリーンキーボードが表示されないのではないでしょうか。

この仮説が正しいとするなら、シャットダウンコマンドを自分自身の権限で行えばよいことになります。
と言いたいところですが残念ながらタスクマネージャからユーザを指定して実行する方法が分からない……。
自分の権限でシャットダウンできるのかしら?
ちょっとググったけどわかりませんでした。
この壁を越えられれば綺麗に問題解決するんですけどね。



対策としてキーボードショートカットからシャットダウンしてみます。
私の場合は AutoHotkey を愛用しているので、そちらにキーを送信してもらいます。

シャットダウンメニューを開くためのショートカットは、 Win+x でスタートボタンを右クリックしたときのポップアップを開く方式を採用します。
ポップアップでuを入力すればサブメニューが展開されます。
そこでさらにuキーでシャットダウン、 R で再起動です。


ただしこの方法は不完全です。
編集作業中のアプリケーションが起動しているなど、シャットダウンできない状況がいくつかあります。
この場合は「シャットダウンを妨げているアプリケーションがあります」と表示されて、シャットダウンを中止するか強制的にシャットダウンするかを聞いてきます。
この時は既にAutoHotkeyなどのキー入力送信アプリケーションが終了している可能性が高いので(それ以前にこの画面は管理者権限のレイヤーで動いていると思う)、この問い合わせに対して自動で応答することはできません。
これ以外のケースでも、別のユーザーでサインインしている場合は 確認作業が入るので失敗します。

あまり推奨したくない対策だということですね。


今回はここまで。