ホームに戻る
出典 :
タスクスケジューラの設定内容を詳細について詳しく説明 - JM1XTK 「スリープ解除タイマーの許可」表示されないときの解決方法!タスクスケジューラをスリープ状態で実行するときの手順を紹介|sananeblog C#.NETでWindowsのタスクスケジューラー情報を取得したい #C# - Qiita
関連 :
[.NET]外部プログラムの実行 [Visual Studio]アプリケーションを常に管理者権限で実行(マニフェスト)
目次 :

タスクスケジューラの機能

指定した処理を、別途指定した時刻や周期で自動的に実行させることができる。 コンピュータが動作していれば、ユーザがログオフしている場合でも実行可能。

スリープ状態でのタスク実行

コンピュータがスリープ状態にあるときにタスクを実行させるには、別途設定が必要となる。 リンク先を参照。

使い方

タスクスケジューラの起動

検索ボックスから「タスク スケジューラ」を検索して実行する。

準備(フォルダの作成)

必須ではないが、フォルダを作成しておくことで分類が容易となる。
「タスク スケジューラ ライブラリ」を右クリックし、「新しいフォルダー」を選択する。
ここでは「ユーザタスク」と入力する。

タスクの作成

  1. 作成したフォルダ「ユーザタスク」を右クリックし、「タスクの作成」を選択する。

  2. 「全般」タブの情報を入力する。
    1. ログオンしている間のみ実行可能とする場合(ログオフすると実行されない)
      「ユーザがログオンしているときのみ実行する」にチェックを入れる。

    2. ログオフしている間も実行可能とする場合
      「ユーザがログオンしているか同課にかかわらず実行する」にチェックを入れる。

  3. 「トリガー」タブの情報を入力する。
    1. 「トリガー」タブを選択し、「新規」をクリックする。

    2. 実行契機を入力し、「OK」をクリックする。
      ここでは、2020/06/23 16:45:47 に一度だけ実行する設定とする。

    3. 設定した実行契機が表示される。

  4. 「操作」タブの情報を入力する。
    1. 「操作」タブを選択し、「新規」をクリックする。

    2. 「プログラム/スクリプト」欄に実行したいプログラム・スクリプト・バッチを入力する。
      「参照」ボタンで選択することも可能。

    3. 設定した操作が表示される。

  5. 「OK」をクリックすると、タスクが登録される。
    「トリガー」に指定した契機が到来すると、操作が実行される。

[.NET]アプリケーションからタスクスケジューラを操作

.NET(.NET Frameworkを含む)アプリケーションからタスクスケジューラを操作する際は、COM参照 "TaskScheduler" を使用する。

注意が必要な点

タスクを登録する際は、実行時に管理者権限を要する。
(管理者権限なしで実行するとエラーとなる。)
管理者権限の付与手順はリンク先を参照。

準備

※ 書きかけです。

サンプルコード

※ 書きかけです。

関数呼び出しと登録イメージ

// C:\Somewhere\sample.exe を // 2020/6/23 17:30:45 に実行 RegistTask( "ユーザタスク", //< 登録先フォルダ "遅延実行サンプルタスク", //< タスク名 @"C:\Somewhere\sample.exe", //< 実行するプログラム new DateTime(2020, 6, 23, 17, 30, 45), //< 実行日時 "Solid Snake", //< 作成者 "俺は未来のために銃を握っている" ); //< 説明
画像