Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi In "Geplante Tasks" eintragen ... (https://www.delphipraxis.net/7699-geplante-tasks-eintragen.html)

Ricane 19. Aug 2003 12:31


In "Geplante Tasks" eintragen ...
 
Moin,

Ich habe das Problem, das ich etwas in die "Geplanten Tasks" eintragen möchte. Aber wie kann man das lösen?! Gibt es da eine Delphi - eigene Funktion für, oder eine Unit, oder etwas in der Art!?


Grüsse,

Ricane

sakura 19. Aug 2003 12:40

Re: In "Geplante Tasks" eintragen ...
 
Hi,

ich habe es noch nicht versucht, aber schaue mal bei MSDN nach dem ITaskScheduler Objekt. Auf den ersten Blick sieht es recht "zugänglich" aus :mrgreen:

...:cat:...

Ricane 19. Aug 2003 12:52

Re: In "Geplante Tasks" eintragen ...
 
Zitat:

Zitat von sakura
[...]ich habe es noch nicht versucht, aber schaue mal bei MSDN nach dem ITaskScheduler Objekt. Auf den ersten Blick sieht es recht "zugänglich" aus[...]

Ja, das stimmt schon, aber welche Unit soll man denn einbinden? Die MSTask.h ist ja für C++ gedacht... natürlich bringt es auch nix wenn man MSTask so in die USES mit rein tut.

Kann man denn die Syntax, die in der MSDN überhaupt in irgendeiner Form in Delphi nutzen?!

PS: Es gibt ja auch die "TTask..." Elemente, leider sind die nur für Outlook XP

Grüsse,

Ricane

Assarbad 19. Aug 2003 12:58

Re: In "Geplante Tasks" eintragen ...
 
Kannst mal schauen, ob das Objekt bereits registriert ist im System. Wenn dem so ist, solltest du es als Typelib importieren koennen.

sakura 19. Aug 2003 13:07

Re: In "Geplante Tasks" eintragen ...
 
Lt. Registry sind die Interfaces ind der C:\WINNT\System32\mstask.dll DLL, allerdings bekomme ich die nicht importiert, da es kein COM-Server ist :gruebel:

...:cat:...

Ricane 19. Aug 2003 13:21

Re: In "Geplante Tasks" eintragen ...
 
Zitat:

Zitat von sakura
allerdings bekomme ich die nicht importiert, da es kein COM-Server ist :gruebel:

Das erleichtert die Sache natürlich nicht gerade... Gibt es dann überhaupt noch eine alternative, außer den ganz schäbigen "SendMessage" Befehlen ?!

Grüsse,

Ricane

Assarbad 19. Aug 2003 13:38

Re: In "Geplante Tasks" eintragen ...
 
Haeh? Wie kommste jetzt auf SendMessage???

Man kann die gute alte Net-API nehmen:
NetSchedule*
-JobAdd
-JobDel
-JobEnum
-JobGetInfo

Ricane 25. Aug 2003 10:12

Re: In "Geplante Tasks" eintragen ...
 
Zitat:

Zitat von Assarbad
Haeh? Wie kommste jetzt auf SendMessage???

Man kann die gute alte Net-API nehmen:
NetSchedule*
-JobAdd
-JobDel
-JobEnum
-JobGetInfo

Na ja, man kann ja den Taskmanager starten (ShellExecute) und dann immer die einzelnen Tastenanschläge "senden" ... wie gesagt, sehr assig und sehr ungenau...

@"die-gute-alte-Net-API-nehmen": Wie soll das funzen?! Wo findet man diese Datei?!

PS: Es gibt ja noch die "schedsvc.dll" aber die lässt sich auch wieder nich einbinden... Damn it ...


Ricane

Assarbad 25. Aug 2003 11:56

Re: In "Geplante Tasks" eintragen ...
 
Folgende APIs sind die, die ich meine:

NetScheduleJobAdd
NetScheduleJobDel
NetScheduleJobEnum
NetScheduleJobGetInfo

Die gehören zur sog. NetAPI (auch LANMAN API), sind im PSDK dokumentiert und benötigen die NetApi32.dll eingebunden.

In folgender ZIP Datei findest du meine Übersetzung der entsprechenden C-Header: http://assarbad.net/stuff/api_conversions.zip

neolithos 25. Aug 2003 13:28

Re: In "Geplante Tasks" eintragen ...
 
Eine Übersetzung von ITaskScheduler

Jedi API

dannhast du deine MSTask.pas

Ricane 25. Aug 2003 13:53

Re: In "Geplante Tasks" eintragen ...
 
Zitat:

Zitat von neolithos
Eine Übersetzung von ITaskScheduler

Jedi API

dannhast du deine MSTask.pas

Das werde ich mir auf jeden Fall mal angucken, aber in der Firma, habe ich leider keinen FTP - Zugriff, daher heisst es warten bis man @Home ist ...

grüsse,

Ricane

Ricane 26. Aug 2003 08:50

Re: In "Geplante Tasks" eintragen ...
 
Zitat:

Zitat von neolithos
Eine Übersetzung von ITaskScheduler

Jedi API

dannhast du deine MSTask.pas

Hat einer von euch diese DEMO schon mal zum laufen bekommen, oder weiß was man noch ändern muss, damit sie das tut (also laufen)?! Denn nachdem man versucht das Projekt zu starten, kommt immer wieder diese Fehlermeldung (und zwar an drei Stellen!):

"[Fehler] main.pas(204): Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden"

Die Delphi - Hilfe meint dazu folgendes "Das ist eine reservierte Fehlermeldung"... mmkay, das ist schon mal nicht schlecht.


Grüsse,

Ricane

Assarbad 26. Aug 2003 09:51

Re: In "Geplante Tasks" eintragen ...
 
Tcha Ricane ... wenn man mit fertigen Klassen schon nicht klarkommt, dann vielleicht mit den NetSchedule*-Funktionen.

Du hast ja meine Antworten geflissentlich übergangen. So wie man sich das in jedem Forum wünscht.

neolithos 26. Aug 2003 09:58

Re: In "Geplante Tasks" eintragen ...
 
Ist ja ein Einfaches Problem:

Delphi-Quellcode:
function GetITask(TaskName: string): ITask;
var
  PITask: IUnknown;
  hr: HRESULT;
  g : TIID;
begin
  g := IID_ITask;
  hr := SchedulingAgent.Activate(StrToWide(TaskName), g, PITask);
  if hr = S_OK then Result := ITask(PITask)
So macht man das mit den restlichen auch...

Ricane 26. Aug 2003 11:54

Re: In "Geplante Tasks" eintragen ...
 
Zitat:

Zitat von Assarbad
Tcha Ricane ... wenn man mit fertigen Klassen schon nicht klarkommt, dann vielleicht mit den NetSchedule*-Funktionen.

Du hast ja meine Antworten geflissentlich übergangen. So wie man sich das in jedem Forum wünscht.

Das Problem mit den "fertigen" Klassen war, das man sie erstmal etwas umbasteln musste, damit sie "fertig" waren.

Deine Antworten habe ich auch nicht "geflissentlich" übergangen, sondern das Problem letztendlich mit den NetSchedule* Funktionen gelöst!


Grüsse,

Ricane

PS: Warum man sich das wünscht, will mir aber immer noch nicht in Kopf; auch nicht wenn ich versuche die Antwort auf der "Sarkasmus-Schniene" zu lesen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz