作ってみました!
時間とユーザー名だけ自由に指定できるようにしたものです。
ログイン時のユーザー名も取得して表示しています。
元々Windowsのタスクスケジューラで設定するタスクはXMLファイルでインポート/エクスポート可能なので、XMLをインポートする形にします。
タスク追加の実装
まずVisual StudioでWindowsフォームアプリのプロジェクトを開始したら、ソリューションエクスプローラーの「参照」で右クリック、「参照の追加」でダイアログを開き、「COM」を選択して検索欄に「task」と入力。
すると「TaskScheduler 1.1 Type Library」が出てくるのでチェックをONにしてからOKボタンを押します。
次にUsingディレクティブに「TaskScheduler」を追加します。
ここまでが準備になります。
あとはこちらの記事の「XMLからインポートすることでタスクを登録する」の項目を参考に実装すればOKです。
最後に実行者がタスクをチェックできるように、タスクスケジューラを起動したい場合はusingディレクティブに「System.Diagnostics」を追加して、下記のように記述すればOK(ちなみに私の環境はwindows10です)。
これでうまくいきました!
ちなみに同じパス&名前のタスクがある場合は上書きされるだけでエラーにはなりません。
XMLの書き換えについて
おまけです。
XMLの特定のタグの値を書き換えるには、下記の方法が一番楽でした。
Usingディレクティブに「System.Xml」を追加するのをお忘れなくっ。
以上、これでタスクを登録するようなツールを作ってチーム内に配布できますね!
お試しあれ!
2019.6.19 追記:
自宅では登録できるのですが、会社で使ってみて登録できなかったので調査中‥
また、ログインユーザー名を入力できるようにしてますが意味が無かった模様。。