社区
Windows SDK/API
帖子详情
用C++Builder怎样实现MS后台智能传送服务(BITS,Background Intelligent Transfer Service)?
imagex
2004-10-21 03:46:32
http://blog.joycode.com/uestc95/archive/2003/10/26/3907.aspx
...全文
162
2
打赏
收藏
用C++Builder怎样实现MS后台智能传送服务(BITS,Background Intelligent Transfer Service)?
http://blog.joycode.com/uestc95/archive/2003/10/26/3907.aspx
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
HUANG_JH
2004-11-03
打赏
举报
回复
程序代码:
CPP文件
//-----------------------------------------------------------------------
#define _WIN32_WINNT 0x0500
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include <stdio.h>
#include <windows.h>
#pragma comment(lib,"ole32.lib")
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
g_BCManager = NULL;
}
//----------------------------------------------------------------------
HRESULT TForm1::InitManager()
{
HRESULT hMyResult;
hMyResult = NULL ;
hMyResult = CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
if (SUCCEEDED(hMyResult))
{
hMyResult = CoInitializeSecurity(NULL, -1, NULL, NULL,
RPC_C_AUTHN_LEVEL_CONNECT,
RPC_C_IMP_LEVEL_IMPERSONATE,
NULL, EOAC_NONE, 0);
}
if ( SUCCEEDED(hMyResult) )
return( CoCreateInstance( __uuidof(BackgroundCopyManager),
NULL,
CLSCTX_ALL,
__uuidof(IBackgroundCopyManager),
(void**) &g_BCManager));
else
return hMyResult;
}
//----------------------------------------------------------------------
void TForm1::ReleaseManager()
{
if (g_BCManager)
{
g_BCManager->Release();
g_BCManager = NULL;
}
CoUninitialize();
}
//----------------------------------------------------------------------
HRESULT TForm1:: TransFile()
{
HRESULT hMyResult;
IBackgroundCopyJob* pjob = NULL;
BG_JOB_STATE bjs;
GUID JobId;
hMyResult = g_BCManager->CreateJob(L"Kevin1stJob", BG_JOB_TYPE_DOWNLOAD, &JobId, &pjob);
if (SUCCEEDED(hMyResult))
{
hMyResult = pjob->AddFile(L"http://bcroad.51.net/mysoft/Cdapp.zip", L"c:\\test1\\a.zip");
if ( hMyResult == S_OK )
{
pjob->Resume();
while (true)
{
hMyResult = E_INVALIDARG;
if ( pjob == NULL )
g_BCManager->GetJobA(JobId,&pjob);
hMyResult = pjob->GetState(&bjs);
if ( hMyResult == S_OK )
{
Form1->Caption = "传输中...";
if ( bjs == BG_JOB_STATE_ERROR || bjs == BG_JOB_STATE_TRANSIENT_ERROR )
{
Form1->Caption = "传输错误,恢复中...";
if (nErrCount>5) //错误次数超过5次就退出
{
Form1->Caption = "文件传输到达最大错误数,退出!";
break;
}
else
nErrCount ++;
if ( pjob == NULL )
g_BCManager->GetJobA(JobId,&pjob);
hMyResult = pjob->Resume ();
if ( hMyResult!= S_OK )
break;
}
else
if (bjs == BG_JOB_STATE_TRANSFERRED)
{
Form1->Caption = "完成!";
if ( pjob == NULL )
g_BCManager->GetJobA(JobId,&pjob);
pjob->Complete();
break;
}
}
else
{
Form1->Caption = " GetState失败,退出!";
break;
}
Sleep(200);
Application->ProcessMessages();
}
}
}
return hMyResult;
}
//----------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
//使用
nErrCount = 0 ; //错误次数统计
HRESULT hMyResult = NULL ;
hMyResult = InitManager();
if (!SUCCEEDED(hMyResult))
{
if (hMyResult == REGDB_E_CLASSNOTREG )
ShowMessage("REGDB_E_CLASSNOTREG");
else
if (hMyResult == E_OUTOFMEMORY )
ShowMessage("E_OUTOFMEMORY");
else
if (hMyResult == E_INVALIDARG )
ShowMessage("E_INVALIDARG");
else
if (hMyResult == E_UNEXPECTED )
ShowMessage("E_UNEXPECTED");
else
if (hMyResult == CLASS_E_NOAGGREGATION )
ShowMessage("CLASS_E_NOAGGREGATION");
else
ShowMessage("InitManager 失败!");
}
else
TransFile ();
ReleaseManager();
}
//-------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------
h文件
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//以下3个文件可在sdk的Include目录中找到
#include "objbase.h"
#include "strsafe.h"
#include "bits.h"
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TButton *Button2;
void __fastcall Button1Click(TObject *Sender);
void __fastcall Button2Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
//自定义文件
IBackgroundCopyManager* g_BCManager ;
HRESULT TransFile ();
void ReleaseManager();
HRESULT InitManager();
int nErrCount ;
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
bcb 5.0 + win2000 pro sp3 + SDK 编译通过。
imagex
2004-11-02
打赏
举报
回复
国中无人啊。
告别‘电音’:用WaveRNN和WaveGlow打造更自然的AI语音(附代码实战)
本文深入探讨了WaveRNN和WaveGlow在工业级语音合成中的应用,解决了传统神经声码器在实时性、资源消耗和音质方面的挑战。通过代码实战和优化策略,展示了如何在移动端和
服务
器端高效部署这两种模型,显著提升AI语音的自然度和性能。文章还提供了模型选型决策树和音质调优技巧,助力开发者
实现
更自然的语音合成效果。
Spring Boot集成PgVector
实现
RAG向量检索实战
向量数据库是RAG系统的核心基础设施,其本质是将非结构化语义信息转化为可计算的高维数值表示,并依托高效近似最近邻(ANN)索引完成相似性检索。PgVector作为PostgreSQL原生扩展,凭借事务一致性、零额外运维成本与HNSW等高性能索引能力,在中小规模场景中展现出显著工程优势。结合Spring AI框架,开发者可直接复用JDBC生态与SQL表达力,避免抽象泄漏,精准控制元数据过滤、混合查询与索引调优等关键环节。本文聚焦PgVector与Spring Boot的端到端集成,覆盖环境搭建、向量写入、相似
SpringBoot多设备串口数据采集与协议解析实战工程
一套开箱即用的Java后端串口集成方案,基于SpringBoot构建,支持同时管理多个物理串口(如RS232/RS485接口),稳定接入传感器、PLC、RFID读卡器等工业硬件。底层兼容jSerialComm或RXTX驱动,通过可插拔Adapter适配不同设备通信差异;每个串口独占线程池IO任务,不阻塞主线程。提供灵活的数据解析能力:支持帧头帧尾识别、固定长度拆包、ASCII分隔符提取等多种协议模式,自动完成CRC/校验和验证、非法帧过滤,并将原始十六进制或ASCII流转换为标准Java Bean对象。配置
富士Micrex-F系列PLC编程软件PC Programmer安装包(含中英文双语支持)
专为富士电机Micrex-F系列PLC设计的官方编程工具PC Programmer,适用于Windows系统,支持梯形图编辑、实时在线监控、参数配置和程序下载功能。安装包内置简体中文与英文双语界面切换能力,通过AUTORUN_ENG.ini和AUTORUN_JPN.ini文件控制语言环境,配套Autorun.exe
实现
一键启动。资源包含完整图标(Micrexf.ico)、位图(PCProg.bmp、FujiElect.bmp等)、帮助文档(FujiElectric.htm)及详细用户手册(Manual目录下
LVGL的中文显示
lvgl的tiny ttf中文显示方案
Windows SDK/API
1,222
社区成员
8,135
社区内容
发帖
与我相关
我的任务
Windows SDK/API
C++ Builder Windows SDK/API
复制链接
扫一扫
分享
社区描述
C++ Builder Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章