Home
Products
    Taskbar Manager
    SafeInput

Developer Components
    ActiveConverter
    ASPActiveConverter
    ASPTaskScheduler
    TaskScheduler
    ANewMail     LaunchMe

Purchase
Support
Contact
About Us

Developer Section

Frequently Asked Questions:

1. Is it possible to use TaskScheduler Component in a program written in VC++?

Ans. Yes. Please look at C++ sample code available in source code section below after the FAQ section.

2.   How can I directly retrieve a Task object given its name?

Ans. In Visual Basic, use following method:

Dim objScheduler
Dim objTask
Dim name
Set objTask = objScheduler.GetTask(name)

3. How can I set an Application name with parameters like "c:\myprogram.exe 10 20"?

Ans. Task object has an ApplicationName property. You need to set this property to "c:\myprogram" like below.

objTask.ApplicationName = "c:\myprogram.exe"

For setting parameters, use Parameters property of Task object like

objTask.Parameters = "10 20"

After all properties have been set, objTask.SaveTask must be called for values to take effect.

Also see documentation for more details.

4. What are the system requirements for using TaskScheduler Component?

Ans: Windows NT/2000 or later: Requires Windows 2000 or later (or Windows NT 4.0 with Internet Explorer 4.0 or later).
        Windows 95/98/Me: Requires Windows 98/Me (or Windows 95 with Internet Explorer 4.0 or later).

5. How do I know if a property or method call succeeded?

Ans: All Objects expose ErrorCode property. Always check this property after the call.

6. How can I set Username of the account under which Task is supposed to run?

Ans: Username property of Task object is read-only as such. However to modify it, you can use SetAccountInformation method to write new username and password. Note that this method call succeeds if Username/Password combination is valid. e.g.

ObjTask.SetAccountInformation "DISNEY\Mickey", "Pluto"

Here, Mickey is an account name on machine DISNEY and Pluto is its password. In some cases, where supplied username/password combination is actually not a valid one, the method call would return successfully. In such a case, SaveTask method call (used to commit changes to Task related changes) would fail.

7. Task won't run even Run method returns without error (Errorcode property is 0)?

This could happen if the account information (Username/Password) was not set or was invalid. The Run method doesn't set any error code but returns successfully.


Source Code:

VB Source Code:

Full source code available for DemoScheduler application with installation of the TaskScheduler component. Please see '\sample' subdirectory where component was installed. 

VC++ Sample Code:

#include <stdio.h>

// #import TaskScheduler.dll by specifying full path to where it resides
#import <C:\Program Files\Askarya\TaskScheduler\TaskScheduler.dll> no_namespace

void main()
{
HRESULT hr = S_OK;
ISchedulerPtr objScheduler; // Main Scheduler object
ScheduledTasksPtr objTasks; // Tasks collection object
ScheduledTaskPtr objTask; // Reference to single task 
TriggerPtr objTrigger; // Trigger reference on a Task
int i = 0;
long errorcode = 0;
_bstr_t bt; 
char* pAppName = "notepad.exe";

// Initialize the COM library
CoInitialize(NULL);

// Create TaskScheduler.Scheduler instance 
hr = objScheduler.CreateInstance("TaskScheduler.Scheduler");
if (FAILED(hr))
{
printf("\nFailed to create an insatnce of TaskScheduler Component\n");
goto Err;
}

// Get collection of current tasks on this system
objTasks = objScheduler->GetTasks();

printf("Number of current tasks : %d\n", objTasks->Count);
for (i=0; i<objTasks->Count; i++)
{
objTask = objTasks->GetItem(i);
bt = _bstr_t(objTask->Name);
printf("%d. %s\n", i+1, (char*)bt); 
objTask.Release();
}

// Modify first task, if any to run only once on 20th Sep, 2002 at 6:30 a.m 
// (You can change this criteria). Also this is just one type of triggers. 
// See documentation for other trigger types and ways to set them.
if (objTasks->Count > 0)
{
objTask = objTasks->GetItem(0);

// Run the task only once 20th Sep, 2002 at 6:30 a.m
objTrigger = objTask->CreateNewTrigger();
objTrigger->TriggerType = 0;
objTrigger->BeginDay = 20;
objTrigger->BeginMonth = 9;
objTrigger->StartHour = 6;
objTrigger->StartMinute = 30;
hr = objTrigger->SetTrigger();

bt = _bstr_t(objTask->Name);
if (FAILED(hr))
printf("\nFailed to set trigger on %s\n", (char*)bt);
else
printf("\nRun %s only once 20th Sep, 2002 at 6:30 a.m\n\n", (char*)bt);

objTrigger.Release();
objTask.Release();
}
else
printf("\nNo tasks to configure\n\n");

Err:

if (objTasks != NULL)
objTasks.Release();

if (objScheduler != NULL) 
objScheduler.Release();

CoUninitialize();
}

 

Highlights

Easy to use Object Model
Schedule windows programs from your applications.
Configure currently scheduled tasks.
Save time and costs
Free runtime distribution

Awards


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright 2003. Askarya Technologies. All rights reserved.