⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jwamstask.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  {$EXTERNALSYM _TRIGGER_TYPE_UNION}
  TRIGGER_TYPE_UNION = _TRIGGER_TYPE_UNION;
  {$EXTERNALSYM TRIGGER_TYPE_UNION}
  TTriggerTypeUnion = _TRIGGER_TYPE_UNION;

  PTaskTrigger = ^TTaskTrigger;
  _TASK_TRIGGER = record
    cbTriggerSize: WORD;
    Reserved1: WORD;
    wBeginYear: WORD;
    wBeginMonth: WORD;
    wBeginDay: WORD;
    wEndYear: WORD;
    wEndMonth: WORD;
    wEndDay: WORD;
    wStartHour: WORD;
    wStartMinute: WORD;
    MinutesDuration: DWORD;
    MinutesInterval: DWORD;
    rgFlags: DWORD;
    TriggerType: TTaskTriggerType;
    Type_: TTriggerTypeUnion;
    Reserved2: WORD;
    wRandomMinutesInterval: WORD;
  end;
  {$EXTERNALSYM _TASK_TRIGGER}
  TASK_TRIGGER = _TASK_TRIGGER;
  {$EXTERNALSYM TASK_TRIGGER}
  PTASK_TRIGGER = ^TASK_TRIGGER;
  {$EXTERNALSYM PTASK_TRIGGER}
  TTaskTrigger = _TASK_TRIGGER;

const
  IID_ITaskTrigger: TGUID = '{148BD52B-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM IID_ITaskTrigger}

// interface ITaskTrigger

type
  ITaskTrigger = interface (IUnknown)
    ['{148BD52B-A2AB-11CE-B11F-00AA00530503}']
    function SetTrigger(const pTrigger: PTaskTrigger): HRESULT; stdcall;
    function GetTrigger(pTrigger: PTaskTrigger): HRESULT; stdcall;
    function GetTriggerString(var ppwszTrigger: LPWSTR): HRESULT; stdcall;
  end;
  {$EXTERNALSYM ITaskTrigger}

const
  IID_IScheduledWorkItem: TGUID = '{A6B952F0-A4B1-11D0-997D-00AA006887EC}';
  {$EXTERNALSYM IID_IScheduledWorkItem}

// interface IScheduledWorkItem

type
  IScheduledWorkItem = interface (IUnknown)
    ['{A6B952F0-A4B1-11D0-997D-00AA006887EC}']
    function CreateTrigger(out piNewTrigger: Word; out ppTrigger: ITaskTrigger): HRESULT; stdcall;
    function DeleteTrigger(iTrigger: Word): HRESULT; stdcall;
    function GetTriggerCount(out pwCount: Word): HRESULT; stdcall;
    function GetTrigger(iTrigger: Word; var ppTrigger: ITaskTrigger): HRESULT; stdcall;
    function GetTriggerString(iTrigger: Word; out ppwszTrigger: PWideChar): HRESULT; stdcall;
    function GetRunTimes(const pstBegin: LPSYSTEMTIME; const pstEnd: LPSYSTEMTIME;
      var pCount: Word; out rgstTaskTimes: LPSYSTEMTIME): HRESULT; stdcall;
    function GetNextRunTime(var pstNextRun: SYSTEMTIME): HRESULT; stdcall;
    function SetIdleWait(wIdleMinutes: Word; wDeadlineMinutes: Word): HRESULT; stdcall;
    function GetIdleWait(out pwIdleMinutes: Word; out pwDeadlineMinutes: Word): HRESULT; stdcall;
    function Run: HRESULT; stdcall;
    function Terminate: HRESULT; stdcall;
    function EditWorkItem(hParent: HWND; dwReserved: DWORD): HRESULT; stdcall;
    function GetMostRecentRunTime(out pstLastRun: TSystemTime): HRESULT; stdcall;
    function GetStatus(out phrStatus: HRESULT): HRESULT stdcall;
    function GetExitCode(out pdwExitCode: DWORD): HRESULT stdcall;
    function SetComment(pwszComment: LPCWSTR): HRESULT stdcall;
    function GetComment(out ppwszComment: LPWSTR): HRESULT stdcall;
    function SetCreator(pwszCreator: LPCWSTR): HRESULT; stdcall;
    function GetCreator(out ppwszCreator: LPWSTR): HRESULT; stdcall;
    function SetWorkItemData(cbData: Word; var rgbData: Byte): HRESULT; stdcall;
    function GetWorkItemData(out pcbData: Word; out prgbData: Byte): HRESULT; stdcall;
    function SetErrorRetryCount(wRetryCount: Word): HRESULT; stdcall;
    function GetErrorRetryCount(out pwRetryCount: Word): HRESULT; stdcall;
    function SetErrorRetryInterval(wRetryInterval: Word): HRESULT; stdcall;
    function GetErrorRetryInterval(out pwRetryInterval: Word): HRESULT; stdcall;
    function SetFlags(dwFlags: DWORD): HRESULT; stdcall;
    function GetFlags(out pdwFlags: DWORD): HRESULT; stdcall;
    function SetAccountInformation(pwszAccountName: LPCWSTR; pwszPassword: LPCWSTR): HRESULT; stdcall;
    function GetAccountInformation(out ppwszAccountName: LPWSTR): HRESULT; stdcall;
  end;
  {$EXTERNALSYM IScheduledWorkItem}

const
  IID_ITask: TGUID = '{148BD524-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM IID_ITask}

// interface ITask

type
  ITask = interface (IScheduledWorkItem)
    ['{148BD524-A2AB-11CE-B11F-00AA00530503}']
    function SetApplicationName(pwszApplicationName: LPCWSTR): HRESULT; stdcall;
    function GetApplicationName(out ppwszApplicationName: LPWSTR): HRESULT; stdcall;
    function SetParameters(pwszParameters: LPCWSTR): HRESULT; stdcall;
    function GetParameters(out ppwszParameters: LPWSTR): HRESULT; stdcall;
    function SetWorkingDirectory(pwszWorkingDirectory: LPCWSTR): HRESULT; stdcall;
    function GetWorkingDirectory(out ppwszWorkingDirectory: LPWSTR): HRESULT; stdcall;
    function SetPriority(dwPriority: DWORD): HRESULT; stdcall;
    function GetPriority(out pdwPriority: DWORD): HRESULT; stdcall;
    function SetTaskFlags(dwFlags: DWORD): HRESULT; stdcall;
    function GetTaskFlags(out pdwFlags: DWORD): HRESULT; stdcall;
    function SetMaxRunTime(dwMaxRunTimeMS: DWORD): HRESULT; stdcall;
    function GetMaxRunTime(out pdwMaxRunTimeMS: DWORD): HRESULT; stdcall;
  end;
  {$EXTERNALSYM ITask}

const
  IID_IEnumWorkItems: TGUID = '{148BD528-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM IID_IEnumWorkItems}

// interface IEnumWorkItems

type
  IEnumWorkItems = interface (IUnknown)
    ['{148BD528-A2AB-11CE-B11F-00AA00530503}']
    function Next(celt: ULONG; out rgpwszNames: LPLPWSTR; out pceltFetched: ULONG): HRESULT; stdcall;
    function Skip(celt: ULONG): HRESULT; stdcall;
    function Reset: HRESULT; stdcall;
    function Clone(out ppEnumWorkItems: IEnumWorkItems): HRESULT; stdcall;
  end;
  {$EXTERNALSYM IEnumWorkItems}

const
  IID_ITaskScheduler: TGUID = '{148BD527-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM IID_ITaskScheduler}

// interface ITaskScheduler

type
  ITaskScheduler = interface (IUnknown)
    ['{148BD527-A2AB-11CE-B11F-00AA00530503}']
    function SetTargetComputer(pwszComputer: LPCWSTR): HRESULT; stdcall;
    function GetTargetComputer(out ppwszComputer: LPWSTR): HRESULT; stdcall;
    function Enum(out ppEnumWorkItems: IEnumWorkItems): HRESULT; stdcall;
    function Activate(pwszName: PWideChar; var riid: TGUID; out ppUnk: IUnknown): HRESULT; stdcall;
    function Delete(pwszName: LPCWSTR): HRESULT; stdcall;
    function NewWorkItem(pwszTaskName: PWideChar; var rclsid: TGUID; var riid: TGUID; out ppUnk: IUnknown): HRESULT; stdcall;
    function AddWorkItem(pwszTaskName: LPCWSTR; var pWorkItem: IScheduledWorkItem): HRESULT; stdcall;
    function IsOfType(pwszName: LPCWSTR; var riid: TGUID): HRESULT; stdcall;
  end;
  {$EXTERNALSYM ITaskScheduler}

const
  CLSID_CTask: TGuid = '{148BD520-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM CLSID_CTask}

  CLSID_CTaskScheduler: TGuid = '{148BD52A-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM CLSID_CTaskScheduler}

type
  PTaskPage = ^TTaskPage;
  _TASKPAGE = (
    TASKPAGE_TASK,
    TASKPAGE_SCHEDULE,
    TASKPAGE_SETTINGS);
  {$EXTERNALSYM _TASKPAGE}
  TASKPAGE = _TASKPAGE;
  {$EXTERNALSYM TASKPAGE}
  TTaskPage = _TASKPAGE;

const
  IID_IProvideTaskPage: TGuid = '{4086658a-cbbb-11cf-b604-00c04fd8d565}';
  {$EXTERNALSYM IID_IProvideTaskPage}

// interface IProvideTaskPage

type
  IProvideTaskPage = interface (IUnknown)
    ['{4086658A-CBBB-11CF-B604-00C04FD8D565}']
    function GetPage(tpType: TTaskPage; fPersistChanges: BOOL; var phPage: HPropSheetPage): HRESULT; stdcall;
  end;
  {$EXTERNALSYM IProvideTaskPage}

const
  ISchedulingAgent = ITaskScheduler;
  {$EXTERNALSYM ISchedulingAgent}
  IEnumTasks = IEnumWorkItems;
  {$EXTERNALSYM IEnumTasks}
  //IID_ISchedulingAgent   = IID_ITaskScheduler;
  IID_ISchedulingAgent: TGUID = '{148BD527-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM IID_ISchedulingAgent}
  //CLSID_CSchedulingAgent = CLSID_CTaskScheduler;
  CLSID_CSchedulingAgent: TGuid = '{148BD52A-A2AB-11CE-B11F-00AA00530503}';
  {$EXTERNALSYM CLSID_CSchedulingAgent}


//added to use save option without ole2 - not there in original source of mstask.h

  {$EXTERNALSYM IID_IPersistFile}
  IID_IPersistFile: TGUID = (
    D1: $0000010B; D2: $0000; D3: $0000; D4: ($C0, $00, $00, $00, $00, $00, $00, $46));

implementation

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -