C#/無効の実行時間を有効にするには、ミッションプランを変更

/// <要約>

/// 1.参照:C:のWindows \ System32に\ taskschd.dll \
偽埋め込まれた相互運用タイプ=:/// 2.プロパティ
/// 3.名前空間:使用するTaskScheduler;
/// <パラ>は有効化または無効化プログラムの実行タスクの時間、またはスケジュールされたタスクを修正する</パラ>
/// </要約>
プライベートBOOL updateTaskSchedule(BOOL有効、日時のstartTime)
{
falseに旗でBOOL =;
試み
{
文字列名= ConfigurationManager.AppSettings [ "ユーザー名"] ;
文字列のパスワード= ConfigurationManager.AppSettings [ "パスワード"];
... // 1接続TaskSchedulerClass
TaskSchedulerClass TaskSchedulerClass新しい新しいTSの=();
ts.Connect(
ConfigurationManager.AppSettings [ "BatchCalculateInterestIP"]、//コンピュータ名またはIPの
ユーザ名、//ユーザ名
ConfigurationManager.AppSettings [ "BatchCalculateInterestDomain「]、//ドメイン名
パスワード); //パスワード
スケジュールされたタスク]フォルダを取得する// 2(パラメータ:「位置」にスケジュールされたタスク「従来型」を選択した後、「\\」のルートフォルダ)
ITaskFolderフォルダ= ts.GetFolder(「\\ ");
IRegisteredTaskCollection = folder.GetTasksタスク(1);
BOOL findFlag =偽; //もし適切なプログラム名見つける作業
列をtaskSchedulerName = ConfigurationManager.AppSettings [" taskSchedulerName " ]; // タスクスケジューラ名
用(int型I = 1 ; I <= tasks.Count; I ++)
{
IRegisteredTaskタスクT = [I];
IF(t.Name == taskSchedulerName)
{
findFlag = trueに。

#region有効またはタスクスケジューラを無効にします
(有効&& t.Enabled!)のIF
{
t.Enabled =偽; //無効
}
他(有効&& t.Enabled!)のIF
{
; //有効t.Enabled =真に
}
#endregion

#regionはミッションプランの実行時間変更
ITaskDefinition定義= t.Definitionを;
DateTimeのスタート= Convert.ToDateTime(definition.Triggers [1] .StartBoundary);
IF(=スタートのstartTime!)
{
//クリア
//definition.Triggers.Clear ();
//追加
//definition.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_WEEKLYを)。

ITriggerトリガ= definition.Triggers [1]。

trigger.StartBoundary = starttime.ToString( "YYYY-MM-DD HH:MM:SS")。
//更新触发器
folder.RegisterTaskDefinition(taskSchedulerName、定義、(int型)_TASK_CREATION.TASK_UPDATE、
ユーザ名、//ユーザーの
パスワード、//パスワード
_TASK_LOGON_TYPE.TASK_LOGON_PASSWORD、 "");

}
#endregion

フラグ= TRUE。
ブレーク;
}

}

フラグを返します。
}
キャッチ(例外例)
{
フラグを返します。
}
}

おすすめ

転載: www.cnblogs.com/cathyxiao/p/11686262.html
おすすめ