Autor Beitrag
Peter18
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 489
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Fr 07.05.10 13:59 
Ein freundliches Hallo an alle,

ich möchte den Windows Taskplaner verwenden um ein Programm von Delphi4 beim Booten oder zu einer bestimmten Zeit zu starten. In der OLE2.pas ist einiges dazu drin. Fehlende Teile habe ich mir "zusammengegoogelt". Dennoch funktioniert das noch nicht.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
procedure TaskScheduleTime();
var
  A    : Longword;
  pv   : OleVariant;
  Er   : Boolean;

begin
  Er  := FAlse;
  A   := CoInitialize(nil);
  if Succeeded(A) then
  begin
    A :=  CoCreateInstance(CLSID_CTaskScheduler, nil,
                           CLSCTX_INPROC_SERVER, IID_ITaskScheduler, pv);
    if Failed(A) then
    begin
      CoUninitialize();
      Er := True;
    end;
  end
  else
  begin
    CoUninitialize();
    Er := True;
  end;


"CoCreateInstance" liefert den Fehler kein Interface. Vielleicht gibt es ja eine noch einfachere Möglichkeit, ev. mit "CreateComObject" oder "CreateOleObject". Leider konnte ich dazu keine Informationen finden. Ich hoffe jemand hat eine Idee oder die Lösung.

Dank Euch im voraus und
feuchte, kühle Grüße von der Nordsee
Peter
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10183
Erhaltene Danke: 1256

W10ent
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Fr 07.05.10 14:45 
Moin!

Man kann sicher hier die API quälen (oder auch sich selbst), man kann aber auch einfach AT an der Kommandozeile verwenden: ;)
ausblenden Quelltext
1:
at /?					

Damit geht das dann auch aus einer Delphi-Anwendung heraus. :idea:

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 489
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Fr 07.05.10 15:40 
Hallo Narses,

das hatte ich zuerst auch gedacht, doch der Nachteil ist, dass Microsaft :oops: sorry Microsoft gern etwas neu macht. Da bekommt ein solches Programm schon mal einen anderen Namen oder unter 98 existiert es nicht u.s.w.. Da ist die Api schon sicherer, wie sich bei Office gezeigt hat! Die Lösung soll nämlich unter diversen Windows-Versionen funktionieren.

Trotzdem Danke und Grüße von der Nordsee
Peter
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19335
Erhaltene Danke: 1751

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 07.05.10 17:53 
Dafür gibts von den JEDIs recht einfache Wrapper soweit ich weiß. Da lag auch nen Beispiel irgendwo unter examples\tasks oder so.

Wenn du allerdings nur Delphi 4 zur Verfügung hast, müsstest du einmal schauen ob die entsprechenden Teile der JCL dort gehen, denn die gehen insgesamt glaube ich erst ab Delphi 5.
Was die Kompatibilität angeht: Da bin ich mir nicht so sicher, dass das dann überall geht, denn mit Vista hat sich da viel geändert (endlich).

So schwierig ist das jedenfalls nicht, irgendwo hatte ich auch direkt zur API mal was gesehen glaube ich, nur wo? :gruebel:
hathor
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 07.05.10 19:53 
Peter18 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 489
Erhaltene Danke: 2


Delphi4
BeitragVerfasst: Mo 10.05.10 11:25 
Hallo hathor,

der Tipp war gut! Es hat Funktioniert. Danke.

Grüße von der Nordsee
Peter