タスクスケジューラで UACが必要なアプリを常駐化
PowerToys でキーボードのりマップを行うとUACが必要になるんですよ。
しかし、起動時にUACで起動するのが面倒くさいとわかります。
UACが必要なAppを自動承認して自動化したい。
どうせ常駐アプリケーションなんだし、Task Listに入るだけなので、起動さえさせてしまえばなんとかなる。
タスクスケジューラでもできる。
方法はいくつかあると思うが、タスクスケジューラのタスクを作成し、条件は起動時、起動はUACの特権で使うのが確実じゃないかと思うんですね。
タスクスケジューラでタスクを作成
トリガをユーザーログイン時に
自分自身がログインしたときに起動するようにします。
UACのPrivilegesで起動させます。
常駐アプリケーションなので終了チェックを無視
タスクスケジューラは「タスク実行」する機構なので、あまりに長時間に亘り起動しているとトラブル発生と解釈されて強制終了するようになっている。なのでこれをオフにする。
終了しないタスクトレイ(Task List)のアプリなので
常駐アプリケーションを呼び出すだけなので、起動したら終了しないので、終了チェックをしないでいいと思います。
PowerToysは終了しないので、終了チェックができずに、「正常終了」と判断されません。
起動するだけのアプリを作る。
ただし、気になるようだったら、常駐アプリケーションを起動するプログラムを使って正常終了にしたほうがいいかもしれませんね
起動するだけのEXEをC#で作ってもいいのですが、Cmd.exeとStartコマンドで同じようなことができるので、そっちを使います。
cmd.exe /C "start "" "C:\Program Files\PowerToys\PowerToys.exe""
コマンド設定例
PowerToysはこれでなんとかなる?
PowerToys はこれでなんとかなりそう。使い始めてまだ3日目ですが、特に問題なく常駐している。
Windowsは用語が難しいですね。。。
タスクスケジューラに登録するのは、タスクですし。
常駐アプリケーションはタスクトレイにあって、task list で見れるし、
実行中プログラムの一覧は、タスクマネージャーで、実行中プログラムはタスクだし、
Windowsのタスクという用語は不安定ですね。