2010-10-20 20 views
30

क्या किसी के पास (COM आधारित) कार्य शेड्यूलर 2.0 एपीआई के लिए .NET C# wrapper के लिए कोई अनुशंसा है?सी # एपीआई कार्य शेड्यूलर 2.0

Google का उपयोग करके कुछ भी नहीं मिला।

(मुझे पता है इस तरह के रूप में Quartz.net .net आधारित शेड्यूलर देखते हैं, लेकिन मैं खिड़कियों समयबद्धक में पूरी तरह से कार्य किया जीयूआई की जरूरत है)

धन्यवाद,

मैट

उत्तर

30

कैसे इस बारे में: http://taskscheduler.codeplex.com/

+0

हां धन्यवाद। ठीक वही है जो मैं खोज रहा था। जब मैंने इसकी खोज की तो किसी भी तरह से इसे याद किया। –

+0

+1 जो मुझे चाहिए था, मैंने थोड़ी सी खोज की जब तक कि मैट – FRoZeN

+0

बिल्कुल वही प्रश्न पोस्ट करने से पहले मैंने एक खोज करने का फैसला किया, जो मैं खोज रहा था। कार्य शेड्यूलर दर्दनाक है और कमांड लाइन (schtasks) और भी बदतर लगती है। यह एपीआई अब तक बहुत अच्छा काम कर रहा है। धन्यवाद! – Robin

5

आदेश है लाइन काफी अच्छी है?

at 23:39 /every:wednesday defrag c:

+5

या बेहतर अभी तक उसके उत्तराधिकारी, 'schtasks' –

8

आप न तो नीचे दिए गए किसी भी तीसरे पक्ष आवरण उपयोग करना चाहते हैं task.Code विंडोज 7.

//create task service instance 
ITaskService taskService = new TaskSchedulerClass(); 
taskService.Connect(); 
ITaskDefinition taskDefinition = taskService.NewTask(0); 
taskDefinition.Settings.Enabled = true; 
taskDefinition.Settings.Compatibility = _TASK_COMPATIBILITY.TASK_COMPATIBILITY_V2_1; 

//create trigger for task creation. 
ITriggerCollection _iTriggerCollection = taskDefinition.Triggers; 
ITrigger _trigger = _iTriggerCollection.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_TIME); 
_trigger.StartBoundary = DateTime.Now.AddSeconds(15).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss"); 
_trigger.EndBoundary = DateTime.Now.AddMinutes(1).ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss"); 
_trigger.Enabled = true; 

///get actions. 
IActionCollection actions = taskDefinition.Actions; 
_TASK_ACTION_TYPE actionType = _TASK_ACTION_TYPE.TASK_ACTION_EXEC; 

//create new action 
IAction action = actions.Create(actionType); 
IExecAction execAction = action as IExecAction; 
execAction.Path = @"C:\Windows\System32\notepad.exe"; 
ITaskFolder rootFolder = taskService.GetFolder(@"\"); 

//register task. 
rootFolder.RegisterTaskDefinition("test", taskDefinition, 6, null, null, _TASK_LOGON_TYPE.TASK_LOGON_NONE, null); 
+1

आपको 'आईटास्क सेवा', 'टास्कशेड्यूलर क्लास', 'आईटास्कडिफिनिशन', 'आईट्रिगर कोलेक्शन', 'आईट्रिगर', 'आईएक्शन कोलेक्शन', 'आईएक्शन', 'आईएक्सएक्सएक्शन', और 'आईटास्कफोल्डर' कहां से मिला? उन कक्षाओं और इंटरफेस के साथ असेंबली विजुअल स्टूडियो 2010 में आसानी से दिखाई नहीं दे रही है। – Zarepheth

+3

कभी नहीं - मुझे "taskchd.dll" फ़ाइल मिली और विजुअल स्टूडियो को एक इंटरऑप लपेटने के बाद, इसे मेरे प्रोजेक्ट में आयात करने में सक्षम था। अगर मैं केवल PowerShell ISE के साथ ऐसा ही कर सकता हूं और इसे गंतव्य लक्ष्य मशीनों पर तैनात कर सकता हूं ... – Zarepheth

+0

आपने अपना दिन बचाया, बहुत बहुत धन्यवाद! – Mikolaytis

0
में काम करता है शेड्यूल करने के लिए नमूना कोड है

आप Nuget कमांड के माध्यम से पूरी तरह से काम कर रहे जीयूआई प्राप्त कर सकते हैं।

PM> इंस्टॉल करें-पैकेज TaskSchedulerEditor

+1

यदि आपके पास विंडोज़ में गुई बिल्ड है, तो विशेष रूप से इस 'taskchd.msc/s' – Proxx

+0

के लिए एक गुई के साथ पैकेज क्यों स्थापित किया जाएगा, यहां TaskSchedulerEditor COM wrapper का नाम है जो विंडोज कार्य शेड्यूलर जीयूआई तक पहुंचने के लिए सी # कोड में उपयोग करने के लिए डिज़ाइन किया गया है। –

+0

यह http://taskscheduler.codeplex.com/ के लिए nuget पैकेज है –

संबंधित मुद्दे