アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。
Windows7Pro VisualStudio2005C# で業務アプリケーションを開発しております。

C#のコードでタスクスケジューラの操作を考えております。
現状コマンドプロンプトを起動し、命令文を実行する方法で考えております。

目的としましては、既に作成してあるタスクに対して、
C#のコードから実施時刻、使用有無、実行間隔を変更したいと考えております。
しかしながら、以下の命令文で実施時刻、使用有無は変更できますが、実行間隔が操作できません。

SCHTASKS /CHANGE /RU ********* /RP ***** /TN TEST /ST 17:30 /ENABLE

変更のコマンドがご存知の方がございましたら、ご教示いただければ幸いに存じます。

また、本稿C#のカテゴリに投稿した理由としまして、
C#2005で本処理を含むタスクスケジューラを操作するコードがございましたら、
ご教示いただければと思いまして記述を致しました。

合わせてご教示いただければ幸いに存じます。

以上宜しくお願い申し上げます。

「C# タスクスケジューラ操作について」の質問画像

A 回答 (2件)

>本件投稿の前にご指摘の事項を試してみましたが、「詳細設定」-「繰り返し間隔」が変更され、赤丸の設定が変更されないことは確認済みでした。



見直してみると…確かにそんな感じですね。

>コマンドで難しいようであれば、C#のクラス等を使用してと考えておりますが、
>.NET2.0ではタスクのクラス等は存在しないのでしょうか。

SCHTASKSコマンドでは無理…っぽいですね。
隠しスイッチでもあれば別なのでしょうが、ちょっと探すのは無理でしょうしねぇ……。
# 逆アセンブルやらデバッガで…という根性もちょっと無いです。

適当にググると…
http://homepage2.nifty.com/nonnon/SoftSample/CS. …
なんてのが。
COMインターフェース経由で利用っぽいです。
private struct DAILYのDaysInterval、private struct WEEKLYのWeeksInterval辺りが希望する設定項目のようです。
マニュアルとか見当たらないっぽいので、ちょっと使いづらいかも知れませんが…

http://jehupc.exblog.jp/10139787/
こんなページも。

ITaskSchedulerから、操作したいトリガーを持つITaskを取得して、さらにGetTrigger()で対象のTASK_TRIGGER構造体を取得。
内容を変更後SetTrigger()で再設定……でしょうか。
COMインターフェースとか使ったことないので想像ですが……。
まぁ、上記のキーワードなどで探してみると良いかも知れません。
# ITaskServiceってキーワードもあるっぽいですが。

この回答への補足

お世話になります。
ご返信遅くなりまして申し訳ございません。

結果として、SCHTASKSで行える範囲で設定できるようにすることで了承を得ることができ、
SCHTASKSで行える範囲以外の項目については、手動修正することで了承を得ました。
ご教示いただきました内容についても、さらっと一読してみましたが、
理解するのに時間がかかりそうだったので、SCHTASKSでできる範囲でとのことになりました。

今後の為、当方の時間があれば確認したいところでありますが、
さしあたり今回はこれでクローズさせて頂きたく思います。

ご教示いただきまして誠にありがとうございました。
今後とも宜しくお願い申し上げます。

以上です。

補足日時:2012/11/20 20:13
    • good
    • 0
この回答へのお礼

補足とかぶりますが、お礼のほうもさせていただきます。
ありがとうございました。

以上です。

お礼日時:2012/11/20 20:14

>SCHTASKS /CHANGE /RU ********* /RP ***** /TN TEST /ST 17:30 /ENABLE


>変更のコマンドがご存知の方がございましたら、ご教示いただければ幸いに存じます。

SCHTASKS /CHANGE /?
は試してみましたか?
>/RI 間隔 繰り返す間隔を分で指定します。
>       有効範囲: 1 - 599940 (分)
なんての見つかりますけど…。

この回答への補足

ご回答ありがとうございます。

本件投稿の前にご指摘の事項を試してみましたが、「詳細設定」-「繰り返し間隔」が変更され、赤丸の設定が変更されないことは確認済みでした。
説明が不足しておりまして申し訳ざいませんでした。

コマンドで難しいようであれば、C#のクラス等を使用してと考えておりますが、
.NET2.0ではタスクのクラス等は存在しないのでしょうか。

何か方法等ございましたらご教示いただければ幸いに存じます。

補足日時:2012/11/02 13:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!