Laden...

Mit Windows FormsApplication zugriff auf Windows Taskscheduler

Erstellt von robusto vor 9 Jahren Letzter Beitrag vor 9 Jahren 1.778 Views
R
robusto Themenstarter:in
2 Beiträge seit 2015
vor 9 Jahren
Mit Windows FormsApplication zugriff auf Windows Taskscheduler

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.

  1. 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.

  2. 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! 😃

16.835 Beiträge seit 2008
vor 9 Jahren

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.

R
robusto Themenstarter:in
2 Beiträge seit 2015
vor 9 Jahren

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

A
350 Beiträge seit 2010
vor 9 Jahren

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?