タスクスケジューラから起動されるプロセスの優先度を変更する

Windows Vista、7のタスクスケジューラは、起動時に毎回、管理者権限で実行したいアプリケーションを動かすのに非常に便利です。

しかし、タスクスケジューラから起動すると、基本優先度が「通常以下」となってしまい、アプリケーションの動作が遅いというのが難点です。

変更できる方法は無いかと調べたところ、Windows 7でもY-four Blog: VistaのI/O Priorityの記事と同様の方法でに変更できることを確認しました。

  1. タスクをエクスポートします。
    タスクをエクスポート
  2. XMLファイルで保存します。
  3. タスクを削除します。
  4. XMLファイルをメモ帳などで開きます。
  5. Priorityと書かれた項目を探します。(だいたい下の方にあります)
    ...
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT0S</ExecutionTimeLimit>
    <Priority>7</Priority>
    ...
  6. 項目の数字(例では7)を6に変更します。
  7. ファイルを保存します。
  8. タスクをインポートします。
    タスクをインポートする
  9. タスクの作成が表示されるのでOKを押します。

項目の数字と優先度の関係はTaskSettings.Priority Property (Windows)にまとまっています。確認したものは以下の通りです。

Priority 基本優先度
0 リアルタイム
1
3 通常以上
6 通常
7 通常以下
9