• ベストアンサー

VC++でタスクファイルの作成

VC++のNetScheduleJobAdd()を使って毎日1時間ごとに起動するタスクファイルを作ろうとしているのですが、JobTimeの指定がどうもうまくいきません。 詳しい方がいましたら教えていただけないでしょうか? また、「実行するアカウント名」を動的に指定することはできるのでしょうか? 例えば上記のタスクファイル生成EXEを起動するユーザによって「実行するアカウント名」が変わるなど。 たくさん質問してすいませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.2

>すいません。taka_tetsuさんは詳しそうなので追加質問させてください。 いえ、別に。ヘルプを読んだだけですが。 >NetScheduleJobAdd()でタスクを生成すると生成したタスクファイル名がAt1となってしまうのですが、このファイル名をプログラムで指定することはできるのでしょうか? NetScheduleJobAdd()ではできません。 本来、NetScheduleJobAdd()はATコマンドのスケジュールを追加するAPIです。NT3.1のころから存在します。そのため、NT4位から追加されたタスクスケジューラにジョブを追加するAPIではないのです。 実際、ATコマンドでスケジュールを追加した場合、AT?といったスケジュールがタスクに追加されますが、タスクスケジューラで追加したスケジュールはATコマンドには反映されません。 つまり、詳細な設定をしたいのであれば、ITaskを使ってくださいねということです。

その他の回答 (1)

  • taka_tetsu
  • ベストアンサー率65% (1020/1553)
回答No.1

無理でしょう。 1日のうちの何時にという指定しかできません。 タスクを手動で追加したときもできませんよね。 実行アカウントは、このAPIを使う限りは無理です。 COMであるITaskを使用する必要があります。 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/taskschd/taskschd/itask.asp

noname#11718
質問者

補足

すいません。taka_tetsuさんは詳しそうなので追加質問させてください。 NetScheduleJobAdd()でタスクを生成すると生成したタスクファイル名がAt1となってしまうのですが、このファイル名をプログラムで指定することはできるのでしょうか?

関連するQ&A