- ベストアンサー
C#タスクスケジューラ操作について
- C#のコードでタスクスケジューラの操作を考えています。現状コマンドプロンプトを起動し、命令文を実行する方法で考えています。
- 目的は、既に作成してあるタスクに対して、C#のコードから実施時刻、使用有無、実行間隔を変更したいと考えています。
- 変更のコマンドがご存知の方がいらっしゃいましたら、ご教示いただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>本件投稿の前にご指摘の事項を試してみましたが、「詳細設定」-「繰り返し間隔」が変更され、赤丸の設定が変更されないことは確認済みでした。 見直してみると…確かにそんな感じですね。 >コマンドで難しいようであれば、C#のクラス等を使用してと考えておりますが、 >.NET2.0ではタスクのクラス等は存在しないのでしょうか。 SCHTASKSコマンドでは無理…っぽいですね。 隠しスイッチでもあれば別なのでしょうが、ちょっと探すのは無理でしょうしねぇ……。 # 逆アセンブルやらデバッガで…という根性もちょっと無いです。 適当にググると… http://homepage2.nifty.com/nonnon/SoftSample/CS.NET/SampleTaskScheduler.html なんてのが。 COMインターフェース経由で利用っぽいです。 private struct DAILYのDaysInterval、private struct WEEKLYのWeeksInterval辺りが希望する設定項目のようです。 マニュアルとか見当たらないっぽいので、ちょっと使いづらいかも知れませんが… http://jehupc.exblog.jp/10139787/ こんなページも。 ITaskSchedulerから、操作したいトリガーを持つITaskを取得して、さらにGetTrigger()で対象のTASK_TRIGGER構造体を取得。 内容を変更後SetTrigger()で再設定……でしょうか。 COMインターフェースとか使ったことないので想像ですが……。 まぁ、上記のキーワードなどで探してみると良いかも知れません。 # ITaskServiceってキーワードもあるっぽいですが。
その他の回答 (1)
- Wr5
- ベストアンサー率53% (2173/4061)
>SCHTASKS /CHANGE /RU ********* /RP ***** /TN TEST /ST 17:30 /ENABLE >変更のコマンドがご存知の方がございましたら、ご教示いただければ幸いに存じます。 SCHTASKS /CHANGE /? は試してみましたか? >/RI 間隔 繰り返す間隔を分で指定します。 > 有効範囲: 1 - 599940 (分) なんての見つかりますけど…。
補足
ご回答ありがとうございます。 本件投稿の前にご指摘の事項を試してみましたが、「詳細設定」-「繰り返し間隔」が変更され、赤丸の設定が変更されないことは確認済みでした。 説明が不足しておりまして申し訳ざいませんでした。 コマンドで難しいようであれば、C#のクラス等を使用してと考えておりますが、 .NET2.0ではタスクのクラス等は存在しないのでしょうか。 何か方法等ございましたらご教示いただければ幸いに存じます。
お礼
補足とかぶりますが、お礼のほうもさせていただきます。 ありがとうございました。 以上です。
補足
お世話になります。 ご返信遅くなりまして申し訳ございません。 結果として、SCHTASKSで行える範囲で設定できるようにすることで了承を得ることができ、 SCHTASKSで行える範囲以外の項目については、手動修正することで了承を得ました。 ご教示いただきました内容についても、さらっと一読してみましたが、 理解するのに時間がかかりそうだったので、SCHTASKSでできる範囲でとのことになりました。 今後の為、当方の時間があれば確認したいところでありますが、 さしあたり今回はこれでクローズさせて頂きたく思います。 ご教示いただきまして誠にありがとうございました。 今後とも宜しくお願い申し上げます。 以上です。