- ベストアンサー
VC++でタスクファイルの作成
VC++のNetScheduleJobAdd()を使って毎日1時間ごとに起動するタスクファイルを作ろうとしているのですが、JobTimeの指定がどうもうまくいきません。 詳しい方がいましたら教えていただけないでしょうか? また、「実行するアカウント名」を動的に指定することはできるのでしょうか? 例えば上記のタスクファイル生成EXEを起動するユーザによって「実行するアカウント名」が変わるなど。 たくさん質問してすいませんがよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>すいません。taka_tetsuさんは詳しそうなので追加質問させてください。 いえ、別に。ヘルプを読んだだけですが。 >NetScheduleJobAdd()でタスクを生成すると生成したタスクファイル名がAt1となってしまうのですが、このファイル名をプログラムで指定することはできるのでしょうか? NetScheduleJobAdd()ではできません。 本来、NetScheduleJobAdd()はATコマンドのスケジュールを追加するAPIです。NT3.1のころから存在します。そのため、NT4位から追加されたタスクスケジューラにジョブを追加するAPIではないのです。 実際、ATコマンドでスケジュールを追加した場合、AT?といったスケジュールがタスクに追加されますが、タスクスケジューラで追加したスケジュールはATコマンドには反映されません。 つまり、詳細な設定をしたいのであれば、ITaskを使ってくださいねということです。
その他の回答 (1)
- taka_tetsu
- ベストアンサー率65% (1020/1553)
無理でしょう。 1日のうちの何時にという指定しかできません。 タスクを手動で追加したときもできませんよね。 実行アカウントは、このAPIを使う限りは無理です。 COMであるITaskを使用する必要があります。 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/taskschd/taskschd/itask.asp
補足
すいません。taka_tetsuさんは詳しそうなので追加質問させてください。 NetScheduleJobAdd()でタスクを生成すると生成したタスクファイル名がAt1となってしまうのですが、このファイル名をプログラムで指定することはできるのでしょうか?