Entwickler-Ecke

Windows API - "Geplanten Task" von Delphi oder Kommandozeile ausführen


pesi - Mi 28.01.09 16:55
Titel: "Geplanten Task" von Delphi oder Kommandozeile ausführen
Hallo,
ich habe mal eine, auf den ERSTEN Blick vielleicht etwas merkwürdige, Frage zum Thema "Geplante Tasks" unter Windows XP.

Ich habe auf einem Rechner täglich sich wiederholende geplante Tasks die i.d.R. ja auch korrekt abgearbeitet werden. Aber es geht um die Fälle in denen sie eben nicht zur geplanten Zeit funktioniert haben (warum auch immer....).
Ich kann nun zum Einen natürlich hergehen und über "Systemsteuerung" => "Geplante Tasks" mit der rechten Maustaste auf den fehlgeschlagenen Task klicken und dann AUSFÜHREN wählen. So muss ich nicht warten bis der nächste Ausführungszeitpunkt für diesen Task eintritt - und das is genau das was ich möchte!

Jetzt zu meiner Frage: Wie kann ich diesen Task, der ja unter c:\windows\tasks\taskxyz.job abgelegt ist z.B. per Kommandozeile SOFORT ausführen lassen???

Ich hab mir schon den Wolf gegoogelt, aber entweder hab ich die falschen Stichwörter verwendet oder einfach nix gefunden :((

Danke für Eure Hilfe
Gruß Peter


Moderiert von user profile iconNarses: Topic aus Off Topic verschoben am Mi 28.01.2009 um 17:31


ffgorcky - Mo 18.05.09 21:29

Also ich würde jetzt sagen, dass es doch einfach so geht:

Delphi-Quelltext
1:
ShellExecute(Handle, 'open''c:\windows\tasks\taskxyz.job'nilnil, SW_SHOW);                    

Oder?
Oder habe ich Dich da jetzt falsch verstanden?
War das nicht Deine Frage?

Ach nein, das geht das ja wohl eher so:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
FileListBox1.Directory:='c:\winnt\tasks\';
FileListBox1.ApplyFilePath('c:\winnt\tasks\');
for i:=0 to FileListBox1.Items.Count-1 do
        begin
        auszufuehren:='c:\windows\tasks\'+FileListBox1.Items[i];
        WinExec(pchar(auszufuehren),SW_ShowNormal);
        end;


pesi - Di 02.06.09 14:13

Sorry, wegen Urlaubs erst heute eine Antwort!

Also, es einfach per shellexecute aufzurufen (Variante 1 von Dir) geht nicht, aber das hast du ja auch schon selber ausgeschlossen.

Der Quelltext 2 erschließt sich mir leider nicht so ganz.
Was ist eine FileListBox? Hab nur D5 Prof. und Turbo Delphi zur Verfügung und da hab´ ich eine solche Komponente nicht (oder bisher einfach übersehen???).

Danke & Gruß
Peter


jaenicke - Mi 03.06.09 00:37

user profile iconpesi hat folgendes geschrieben Zum zitierten Posting springen:
Was ist eine FileListBox? Hab nur D5 Prof. und Turbo Delphi zur Verfügung und da hab´ ich eine solche Komponente nicht (oder bisher einfach übersehen???).
Die gibt es, die liegt unter Win 3.1, denn es ist eine Komponente aus der 16-Bit-Welt vor Windows 95 und seit 14 Jahren veraltet... :roll:

Die hilft dir hier aber auch nicht. Was du suchst ist der Befehl [url=http://www.winhelpline.info/daten/dos/schtasks.php]SchTasks[/url].

Delphi-Quelltext
1:
ShellExecute(Handle, 'open''schtasks.exe', PChar('/Run /TN ' + Taskname), '', SW_SHOW);                    


pesi - Mi 03.06.09 08:14

SchTasks war genau das was mir gefehlt hat!!! ....und dann auch noch dieser Link mit den weiterführenden Infos. PERFEKT!!!

VIELEN DANK & Gruß
Peter