Guten Tag C# Freunde!
Ich schreibe zurzeit an einem kleinen Projekt, welches Aufgaben mit genauen Datum, Zeitspanne und der auszuführenden Datei in den Windows (8.1) Taskplaner ("schtasks") einfügt.
Das funktioniert soweit zuverlässig. Da ich diesen Wrapper gefunden habe. (https://taskscheduler.codeplex.com/)
Jetzt möchte ich die ganzen geplanten Tasks in Windows(alle->zukünftig, abgelaufen,
zurzeit laufend), im Programm ausgeben.
Problem: Welches Windows Forms Element benutze ich am besten,
für die Ausgabe der Tasks. Die sollten getrennt aufgelistet werden
und am besten selektierbar sein.
Da ich sie später auch noch löschen möchte über das Programm.
Wichtigeres Problem: Wie bekomme ich Zugriff auf die Tasks im Taskplaner?
Mit dem oben genannten Wrapper bin ich dabei nicht weitergekommen.
Die Dokumentation gab's leider nicht her.
Wenn ich das richtig verstanden habe kann man das
scheinbar auch mit der CMD machen und den Output direkt an C# schicken,
wie genau das geht weiß ich aber leider nicht und ob ich diesen Output
dann noch ordentlich trennen kann nach tasks, weiß ich leider auch nicht.
Vielleicht kann mir dabei Jemand weiterhelfen
oder mir einen anderen Wrapper empfehlen.
Danke! 😃
Willkommen im Forum.
Welches Control Du nimmst: das ist doch Geschmackssache.
Manche nehmen ne Tabelle, manche machen was eigenes. Such Dir doch das aus, was Dir gefällt und was Deinen Anforderungen genügt...
"ich bin nicht weitergekommen" hilft keinem.
Sag, was Du versucht hast und wo Du hängst. Siehe auch [Hinweis] Wie poste ich richtig? Punkt 5.
Zudem ist doch bei dem Projekt der Quellcode öffentlich.
Schau ihn doch einfach an?! Deswegen sind bei solchen Projekten der Quellcode verfügbar.
Und Codebeispiele sind doch auch auf der Seite vorhanden.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke für den Hinweis.
Versucht habe ich das ganze auch schon einmal so und mit dieser Library(
http://www.codeproject.com/Articles/2407/A-New-Task-Scheduler-Class-Library-for-NET )
:
private void button3_Click(object sender, EventArgs e)
{
int i = 0;
ScheduledTasks st = new ScheduledTasks("@\\"+System.Environment.MachineName.ToString());
string[] taskNames = st.GetTaskNames();
foreach (string name in taskNames)
{
TaskScheduler.Task t = st.OpenTask(name);
MessageBox.Show(taskNames[i].ToString());
i++;
}
MessageBox.Show(taskNames[0].ToString());
st.Dispose();
}
Hier bekomme ich allerdings nur ".job" angezeigt.
Bevor ich mir den Quellcode reinziehe, wollte ich erstmal sichergehen, dass niemand einen "bequemeren" Tipp hat. Oder einfach etwas besseres, als das was ich bisher gefunden habe.
Ich mach das mit C# noch nicht solange und bin mir über den Funtkionsumfang noch nicht ganz im Klaren. Grüße
Du durchläufst es mit einer foreach und benutzt dennoch ein Index ? Du kannst doch wie in deinem Beispiel direkt per "name" auf den jetzigen task in der Schleife zugreifen.
Es fehlt wohl an Grundlagen siehe 1.1.1
[Hinweis] Wie poste ich richtig?