Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten przykład pobiera ostatni kod zakończenia zwrócony przez znane zadanie. (Zwrócona wartość "0" wskazuje, że zadanie nigdy nie zostało uruchomione). W tym przykładzie przyjęto założenie, że zadanie i zadanie testowe już istnieją na komputerze lokalnym.
#include <windows.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;
///////////////////////////////////////////////////////////////////
// Call CoInitialize to initialize the COM library and then
// call CoCreateInstance to get the Task Scheduler object.
///////////////////////////////////////////////////////////////////
ITaskScheduler *pITS;
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;
lpcwszTaskName = L"TestTask";
hr = pITS->Activate(lpcwszTaskName,
IID_ITask,
(IUnknown**) &pITask);
// Release ITaskScheduler interface.
pITS->Release();
if (FAILED(hr))
{
wprintf(L"Failed calling ITaskScheduler::Activate: ");
wprintf(L"error = 0x%x\n",hr);
CoUninitialize();
return 1;
}
///////////////////////////////////////////////////////////////////
// Call ITask::GetExitCode. Note that this method is
// inherited from IScheduledWorkItem.
///////////////////////////////////////////////////////////////////
DWORD pdwExitCode;
hr = pITask->GetExitCode(&pdwExitCode);
// Release ITask interface.
pITask->Release();
if (FAILED(hr))
{
wprintf(L"Failed calling ITask::GetExitCode: ");
wprintf(L"error = 0x%x\n",hr);
CoUninitialize();
return 1;
}
wprintf(L"The last exit code of Test Task is: %d\n", pdwExitCode);
CoUninitialize();
return 0;
}
Tematy pokrewne