2016-05-31 126 views
2

如何在不使用schtasks.exe作爲新進程的情況下通過名稱簡單地運行預製任務?如何運行預製Windows任務計劃任務?

應該是使用命名空間的最多2行總數+按名稱執行預製任務。

我可以建立使用的TaskScheduler包裝(可創建,修改,編輯)或MS的TaskScheduler類可以做同樣的更多的代碼C#的任務。似乎所有主題都有很多額外的代碼,我甚至不想考慮閱讀30行代碼,以便最終完成新任務並像每一個樣本似乎都提供的那樣運行它。

要求從: 我已經提高了應用程序的用戶權限,並嘗試在另一個用戶配置文件中運行更新引擎,該用戶配置文件又具有EFS權限以進行更新。如果我這樣做,運行新的流程並不會很美好。

+1

在Windows任務計劃程序周圍不需要「包裝」。只需將COM引用添加到Microsoft * Task Scheduler 1.1 *庫 – MickyD

回答

1

您錯過了Windows任務計劃程序(TS)的要點。 一個通常不「運行」任務,代替一個限定一個或多個觸發器(如時間表),並讓有關何時運行它的TS擔心。

如上所述,您應該避免使用TS中的「包裝器」庫,而是直接轉到源代碼並使用任務計劃程序1.1 COM庫。只需從Visual Studio添加一個引用即可。

.NET已被設計爲直接連接到COM,因此通常不需要中間人。

+0

是的,我明白了你的觀點。我總是可以安排任務從現在開始運行<5秒>,讓TS只是擔心運行它。只是看起來很浪費代碼來編寫一個完整的函數,只是爲了在模擬用戶權限下執行'schtasks.exe/Run/TN「Taskname」'。 – ITK

+0

不用擔心。同意。在定義任務以使用特定用戶時,您應該能夠告訴TS – MickyD