2014-06-21 28 views
0

我知道有一堆例如對MSDN有關Windows任務調度的Windows日常任務的時間表,但它們都(除了登錄/開機時間)要求用戶憑據保存任務根文件夾,因此成功註冊任務。C++:無需用戶憑據

// Save the task in the root folder. 
    IRegisteredTask *pRegisteredTask = NULL; 
    hr = pRootFolder->RegisterTaskDefinition(
      _bstr_t(wszTaskName), 
      pTask, 
      TASK_CREATE_OR_UPDATE, 
      _variant_t(_bstr_t(pszName)), //USERNAME 
      _variant_t(_bstr_t(pszPwd)), //PASSWORD 
      TASK_LOGON_PASSWORD, 
      _variant_t(L""), 
      &pRegisteredTask); 

但我見過一些軟件在用戶系統上安排任務而不提示用戶輸入憑證。

只是想知道它是怎麼實現的? Builting//Administrator事情似乎不適用於安排日常任務。

另一種出路是什麼? 任何幫助表示讚賞。

回答

1

自超過了2個星期,沒有回答收到,我回答我的辦法解決來解決這個問題。

要安排無需用戶帳戶名和密碼的任務,我們可以採取目前在System32目錄窗口Schtasks.exe的槓桿作用。

你可以簡單地讓你的程序(它應該擁有管理員權限運行)執行該SCHTASKS.EXE適當的參數來安排你的每日,每週和每月的任務。

例如: 以下命令安排日常任務在HH:mm時間運行,並在24小時內每隔1小時觸發一次exe。

Schtasks.exe /CREATE /TN "MyDailyTask" /TR "C:/path/to/trigger/app.exe" /F /SC DAILY /SD mm/dd/yyyy /ST HH:mm /RI 60 /DU 24:00 

正如您所見,只要我們的應用程序使用管理員權限運行,就不需要提供用戶名和密碼。