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

📄 jwamstask.pas

📁 比较全面的win32api开发包
💻 PAS
📖 第 1 页 / 共 2 页
字号:
{******************************************************************************}
{                                                       	               }
{ Microsoft Task Scheduler API interface Unit for Object Pascal                }
{                                                       	               }
{ Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
{ Corporation. All Rights Reserved.                                            }
{ 								               }
{ The original file is: mstask.h, released August 2001. The original Pascal    }
{ code is: MsTask.pas, released October 2001. The initial developer of the     }
{ Pascal code is Marcel van Brakel (brakelm@chello.nl).                        }
{                                                                              }
{ Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
{ Marcel van Brakel. All Rights Reserved.                                      }
{ 								               }
{ Contributor(s): Sunish Issac  (sunish@nettaxi.com)                           }
{ 								               }
{ Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
{								               }
{ You may retrieve the latest version of this file at the Project JEDI home    }
{ page, located at http://delphi-jedi.org or my personal homepage located at   }
{ http://members.chello.nl/m.vanbrakel2                                        }
{								               }
{ The contents of this file are used with permission, subject to the Mozilla   }
{ Public License Version 1.1 (the "License"); you may not use this file except }
{ in compliance with the License. You may obtain a copy of the License at      }
{ http://www.mozilla.org/MPL/MPL-1.1.html                                      }
{                                                                              }
{ Software distributed under the License is distributed on an "AS IS" basis,   }
{ WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
{ the specific language governing rights and limitations under the License.    }
{                                                                              }
{ Alternatively, the contents of this file may be used under the terms of the  }
{ GNU Lesser General Public License (the  "LGPL License"), in which case the   }
{ provisions of the LGPL License are applicable instead of those above.        }
{ If you wish to allow use of your version of this file only under the terms   }
{ of the LGPL License and not to allow others to use your version of this file }
{ under the MPL, indicate your decision by deleting  the provisions above and  }
{ replace  them with the notice and other provisions required by the LGPL      }
{ License.  If you do not delete the provisions above, a recipient may use     }
{ your version of this file under either the MPL or the LGPL License.          }
{ 								               }
{ For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
{ 								               }
{******************************************************************************}

unit JwaMsTask;

{$WEAKPACKAGEUNIT}

{$HPPEMIT ''}
{$HPPEMIT '#include "mstask.h"'}
{$HPPEMIT ''}

{$I WINDEFINES.INC}

interface

uses
  JwaWinBase, JwaWinType, CommCtrl {TODO};

const
  TASK_SUNDAY = ($1);
  {$EXTERNALSYM TASK_SUNDAY}
  TASK_MONDAY = ($2);
  {$EXTERNALSYM TASK_MONDAY}
  TASK_TUESDAY = ($4);
  {$EXTERNALSYM TASK_TUESDAY}
  TASK_WEDNESDAY = ($8);
  {$EXTERNALSYM TASK_WEDNESDAY}
  TASK_THURSDAY = ($10);
  {$EXTERNALSYM TASK_THURSDAY}
  TASK_FRIDAY = ($20);
  {$EXTERNALSYM TASK_FRIDAY}
  TASK_SATURDAY = ($40);
  {$EXTERNALSYM TASK_SATURDAY}
  TASK_FIRST_WEEK = (1);
  {$EXTERNALSYM TASK_FIRST_WEEK}
  TASK_SECOND_WEEK = (2);
  {$EXTERNALSYM TASK_SECOND_WEEK}
  TASK_THIRD_WEEK = (3);
  {$EXTERNALSYM TASK_THIRD_WEEK}
  TASK_FOURTH_WEEK = (4);
  {$EXTERNALSYM TASK_FOURTH_WEEK}
  TASK_LAST_WEEK = (5);
  {$EXTERNALSYM TASK_LAST_WEEK}
  TASK_JANUARY = ($1);
  {$EXTERNALSYM TASK_JANUARY}
  TASK_FEBRUARY = ($2);
  {$EXTERNALSYM TASK_FEBRUARY}
  TASK_MARCH = ($4);
  {$EXTERNALSYM TASK_MARCH}
  TASK_APRIL = ($8);
  {$EXTERNALSYM TASK_APRIL}
  TASK_MAY = ($10);
  {$EXTERNALSYM TASK_MAY}
  TASK_JUNE = ($20);
  {$EXTERNALSYM TASK_JUNE}
  TASK_JULY = ($40);
  {$EXTERNALSYM TASK_JULY}
  TASK_AUGUST = ($80);
  {$EXTERNALSYM TASK_AUGUST}
  TASK_SEPTEMBER = ($100);
  {$EXTERNALSYM TASK_SEPTEMBER}
  TASK_OCTOBER = ($200);
  {$EXTERNALSYM TASK_OCTOBER}
  TASK_NOVEMBER = ($400);
  {$EXTERNALSYM TASK_NOVEMBER}
  TASK_DECEMBER = ($800);
  {$EXTERNALSYM TASK_DECEMBER}

  TASK_FLAG_INTERACTIVE = ($1);
  {$EXTERNALSYM TASK_FLAG_INTERACTIVE}
  TASK_FLAG_DELETE_WHEN_DONE = ($2);
  {$EXTERNALSYM TASK_FLAG_DELETE_WHEN_DONE}
  TASK_FLAG_DISABLED = ($4);
  {$EXTERNALSYM TASK_FLAG_DISABLED}
  TASK_FLAG_START_ONLY_IF_IDLE = ($10);
  {$EXTERNALSYM TASK_FLAG_START_ONLY_IF_IDLE}
  TASK_FLAG_KILL_ON_IDLE_END = ($20);
  {$EXTERNALSYM TASK_FLAG_KILL_ON_IDLE_END}
  TASK_FLAG_DONT_START_IF_ON_BATTERIES = ($40);
  {$EXTERNALSYM TASK_FLAG_DONT_START_IF_ON_BATTERIES}
  TASK_FLAG_KILL_IF_GOING_ON_BATTERIES = ($80);
  {$EXTERNALSYM TASK_FLAG_KILL_IF_GOING_ON_BATTERIES}
  TASK_FLAG_RUN_ONLY_IF_DOCKED = ($100);
  {$EXTERNALSYM TASK_FLAG_RUN_ONLY_IF_DOCKED}
  TASK_FLAG_HIDDEN = ($200);
  {$EXTERNALSYM TASK_FLAG_HIDDEN}
  TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET = ($400);
  {$EXTERNALSYM TASK_FLAG_RUN_IF_CONNECTED_TO_INTERNET}
  TASK_FLAG_RESTART_ON_IDLE_RESUME = ($800);
  {$EXTERNALSYM TASK_FLAG_RESTART_ON_IDLE_RESUME}
  TASK_FLAG_SYSTEM_REQUIRED = ($1000);
  {$EXTERNALSYM TASK_FLAG_SYSTEM_REQUIRED}
  TASK_FLAG_RUN_ONLY_IF_LOGGED_ON = ($2000);
  {$EXTERNALSYM TASK_FLAG_RUN_ONLY_IF_LOGGED_ON}

  TASK_TRIGGER_FLAG_HAS_END_DATE = ($1);
  {$EXTERNALSYM TASK_TRIGGER_FLAG_HAS_END_DATE}
  TASK_TRIGGER_FLAG_KILL_AT_DURATION_END = ($2);
  {$EXTERNALSYM TASK_TRIGGER_FLAG_KILL_AT_DURATION_END}
  TASK_TRIGGER_FLAG_DISABLED = ($4);
  {$EXTERNALSYM TASK_TRIGGER_FLAG_DISABLED}

  TASK_MAX_RUN_TIMES = (1440);
  {$EXTERNALSYM TASK_MAX_RUN_TIMES}

type
  PTaskTriggerType = ^TTaskTriggerType;
  _TASK_TRIGGER_TYPE = (
    TASK_TIME_TRIGGER_ONCE,
    TASK_TIME_TRIGGER_DAILY,
    TASK_TIME_TRIGGER_WEEKLY,
    TASK_TIME_TRIGGER_MONTHLYDATE,
    TASK_TIME_TRIGGER_MONTHLYDOW,
    TASK_EVENT_TRIGGER_ON_IDLE,
    TASK_EVENT_TRIGGER_AT_SYSTEMSTART,
    TASK_EVENT_TRIGGER_AT_LOGON);
  TASK_TRIGGER_TYPE = _TASK_TRIGGER_TYPE;
  {$EXTERNALSYM TASK_TRIGGER_TYPE}
  {$EXTERNALSYM _TASK_TRIGGER_TYPE}
  PTASK_TRIGGER_TYPE = ^_TASK_TRIGGER_TYPE;
  {$EXTERNALSYM PTASK_TRIGGER_TYPE}
  TTaskTriggerType = _TASK_TRIGGER_TYPE;

  PDaily = ^TDaily;
  _DAILY = record
    DaysInterval: WORD;
  end;
  {$EXTERNALSYM _DAILY}
  TDaily = _DAILY;

  PWeekly = ^TWeekly;
  _WEEKLY = record
    WeeksInterval: WORD;
    rgfDaysOfTheWeek: WORD;
  end;
  {$EXTERNALSYM _WEEKLY}
  TWeekly = _WEEKLY;

  PMonthlyDate = ^TMonthlyDate;
  _MONTHLYDATE = record
    rgfDays: DWORD;
    rgfMonths: WORD;
  end;
  {$EXTERNALSYM _MONTHLYDATE}
  TMonthlyDate = _MONTHLYDATE;

  PMonthlyDow = ^TMonthlyDow;
  _MONTHLYDOW = record
    wWhichWeek: WORD;
    rgfDaysOfTheWeek: WORD;
    rgfMonths: WORD;
  end;
  {$EXTERNALSYM _MONTHLYDOW}
  TMonthlyDow = _MONTHLYDOW;

  PTriggerTypeUnion = ^TTriggerTypeUnion;
  _TRIGGER_TYPE_UNION = record
    case Integer of
      0: (Daily: TDaily);
      1: (Weekly: TWeekly);
      2: (MonthlyDate: TMonthlyDate);
      3: (MonthlyDOW: TMonthlyDow);
  end;

⌨️ 快捷键说明

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