Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Contoh ini mengambil string pemicu untuk semua pemicu yang terkait dengan tugas yang diketahui.
#include <windows.h>
#include <winbase.h>
#include <initguid.h>
#include <ole2.h>
#include <mstask.h>
#include <msterr.h>
#include <wchar.h>
int main(int argc, char **argv)
{
HRESULT hr = S_OK;
ITaskScheduler *pITS;
///////////////////////////////////////////////////////////////////
// Call CoInitialize to initialize the COM library and then
// call CoCreateInstance to get the Task Scheduler object.
///////////////////////////////////////////////////////////////////
hr = CoInitialize(NULL);
if (SUCCEEDED(hr))
{
hr = CoCreateInstance(CLSID_CTaskScheduler,
NULL,
CLSCTX_INPROC_SERVER,
IID_ITaskScheduler,
(void **) &pITS);
if (FAILED(hr))
{
CoUninitialize();
return 1;
}
}
else
{
return 1;
}
///////////////////////////////////////////////////////////////////
// Call ITaskScheduler::Activate to get the Task object.
///////////////////////////////////////////////////////////////////
ITask *pITask;
LPCWSTR lpcwszTaskName = L"Test Task";
hr = pITS->Activate(lpcwszTaskName,
IID_ITask,
(IUnknown**) &pITask);
pITS->Release();
if (FAILED(hr))
{
wprintf(L"Failed calling ITaskScheduler::Activate: ");
wprintf(L"error = 0x%x\n",hr);
CoUninitialize();
return 1;
}
///////////////////////////////////////////////////////////////////
// Call ITask::TriggerCount to retrieve the number of triggers
// associated with the task.
///////////////////////////////////////////////////////////////////
WORD plTriggerCount;
hr = pITask->GetTriggerCount (&plTriggerCount);
if (FAILED(hr))
{
wprintf(L"Failed calling ITask::GetTriggerCount: ");
wprintf(L"error = 0x%x\n",hr);
pTask->Release();
CoUninitialize();
return 1;
}
///////////////////////////////////////////////////////////////////
// Display the trigger stings, calling ITask::GetTriggerString for
// each trigger associated with the task.
///////////////////////////////////////////////////////////////////
wprintf(L"There are %i triggers with Test Task.\n",plTriggerCount);
wprintf(L"They are:\n");
WORD CurrentTrigger=0;
LPWSTR ppwszTrigger;
for (CurrentTrigger=0; CurrentTrigger<plTriggerCount; CurrentTrigger++)
{
pITask->GetTriggerString (CurrentTrigger,
&ppwszTrigger);
if (FAILED(hr))
{
wprintf(L"Failed calling ITask::GetTriggerString: ");
wprintf(L"error = 0x%x\n",hr);
pTask->Release();
CoUninitialize();
return 1;
}
wprintf(L"%i) %s\n",CurrentTrigger+1, ppwszTrigger);
}
///////////////////////////////////////////////////////////////////
// Release resources.
///////////////////////////////////////////////////////////////////
CoTaskMemFree(ppwszTrigger);
pITask->Release();
CoUninitialize();
return 0;
}
Topik terkait