社区
Windows客户端开发
帖子详情
300分,求调用系统蓝牙模块发送文件的代码!
avisnet
2007-06-12 10:08:56
可用后马上结贴!
...全文
321
5
打赏
收藏
300分,求调用系统蓝牙模块发送文件的代码!
可用后马上结贴!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
漫步青云OK
2008-07-18
打赏
举报
回复
(60475306)智能软件开发群
wangjs720
2008-07-17
打赏
举报
回复
HRESULT ObexHelper::SendFile(IObexDevice *pDevice, const WCHAR *pszPath, HWND hWnd)
{
HRESULT hr = S_OK;
//
// Opens the specified file.
//
FILE *pFile = _wfopen(pszPath, L"r");
if (pFile == NULL)
{
return E_FILE_NOT_FOUND;
}
//
// Extracts the file name(include extersion).
//
const WCHAR *pszName = wcsrchr(pszPath, L'\\');
pszName == 0 ? pszName = pszPath : pszName++;
IHeaderCollection *pConnectHeaders = 0;
hr = CoCreateInstance(__uuidof(HeaderCollection), NULL, CLSCTX_INPROC_SERVER, __uuidof(IHeaderCollection), (void**)&pConnectHeaders);
if (FAILED(hr))
{
return hr;
}
if (g_bAbort)
{
pConnectHeaders->Release();
return E_ABORT;
}
//if (dwFlags & DEV_SERVICE_FTP)
//hr = pConnectHeaders->AddTarget(sizeof(CLSID_FileExchange_NetOrder), (UCHAR*)&CLSID_FileExchange_NetOrder);
//
// Connects to the remote device.
//
SendMessage(hWnd, WM_OBEX_INFO, (WPARAM)pDevice, OBEX_INFO_CONNECT);
hr = pDevice->Connect(NULL, 0, pConnectHeaders);
if (FAILED(hr))
{
pConnectHeaders->Release();
SendMessage(hWnd, WM_OBEX_INFO, (WPARAM)pDevice, OBEX_INFO_FAIL);
return hr;
}
if (g_bAbort)
{
pDevice->Disconnect(pConnectHeaders);
pConnectHeaders->Release();
return E_ABORT;
}
//
// Transfer binary data.
//
SendMessage(hWnd, WM_OBEX_INFO, (WPARAM)pDevice, OBEX_INFO_TRANSFERDATA);
IHeaderCollection *pFileHeaders = NULL;
hr = CoCreateInstance(__uuidof(HeaderCollection), NULL, CLSCTX_INPROC_SERVER, __uuidof(IHeaderCollection), (void**)&pFileHeaders);
if (FAILED(hr))
{
pDevice->Disconnect(pConnectHeaders);
pConnectHeaders->Release();
SendMessage(hWnd, WM_OBEX_INFO, (WPARAM)pDevice, OBEX_INFO_FAIL);
return hr;
}
if (g_bAbort)
{
pFileHeaders->Release();
pDevice->Disconnect(pConnectHeaders);
pConnectHeaders->Release();
return E_ABORT;
}
hr = pFileHeaders->AddName(pszName);
if (FAILED(hr))
{
pFileHeaders->Release();
pDevice->Disconnect(pConnectHeaders);
pConnectHeaders->Release();
SendMessage(hWnd, WM_OBEX_INFO, (WPARAM)pDevice, OBEX_INFO_FAIL);
return hr;
}
if (g_bAbort)
{
pFileHeaders->Release();
pDevice->Disconnect(pConnectHeaders);
pConnectHeaders->Release();
return E_ABORT;
}
IStream *pStream = NULL;
hr = pDevice->Put(pFileHeaders, &pStream);
if (hr == S_OK)
{
//
// Calculates the size of the file.
//
fseek(pFile, 0, SEEK_END);
LONG iFileSize = ftell(pFile);
fseek(pFile, 0, SEEK_SET);
char *pszBuffer = new char[PM_LOG_BUFSIZE];
if (pszBuffer == NULL)
{
pStream->Release();
pFileHeaders->Release();
pDevice->Disconnect(pConnectHeaders);
pConnectHeaders->Release();
return E_OUTOFMEMORY;
}
while (iFileSize > 0)
{
size_t cbReaded = fread(pszBuffer, 1, PM_LOG_BUFSIZE, pFile);
if (cbReaded == 0)
{
break;
}
DWORD dwBytesWritten;
hr = pStream->Write(pszBuffer, cbReaded, &dwBytesWritten);
if (FAILED(hr))
{
iFileSize -= cbReaded;
continue;
}
ASSERT(cbReaded == dwBytesWritten);
//DWORD dwBytesWrittenTotle = 0;
//char *pszTemp = pszBuffer;
//while (dwBytesWrittenTotle < cbReaded)
//{
// hr = pStream->Write(pszTemp, cbReaded, &dwBytesWritten);
// if (FAILED(hr))
// {
// break;
// }
// pszTemp += dwBytesWritten;
// dwBytesWrittenTotle += dwBytesWritten;
//}
iFileSize -= cbReaded;
}
delete[] pszBuffer;
fclose(pFile);
pStream->Commit(STGC_DEFAULT);
pStream->Release();
}
pFileHeaders->Release();
pDevice->Disconnect(pConnectHeaders);
pConnectHeaders->Release();
return hr;
}
dyw
2007-10-10
打赏
举报
回复
SDK中有一个例子可以参考:BthChat,在发送文件前告诉对方发送的是文件内容就行了。
C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CPP\win32\Bluetooth\BthChat
codesphere
2007-10-09
打赏
举报
回复
可以看WM6的文档自己做一个啊,用SOCKET或VCOM来写,应该不太难吧
CathySun118
2007-06-12
打赏
举报
回复
没有做过
易语言模块大全(共775个模块)
世恒通用安装
系统
文件
压缩模块(1.0).zip simixp(1.0).zip simixp1.0(1.0).zip simixp1.01(1.0).zip Sqlite数据库加强(1.0).zip Sqlite表管理(1.0).zip SQL基本语句(1.0).zip SQL数据库操作V1.1(1.1).zip 删除
文件
...
Android典型技术模块开发详解
15.3.1
发送
文件
15.3.2 接收
文件
15.4 本章小结 第16章 程序优化 16.1 Java内存管理 16.1.1 垃圾回收 16.1.2 内存
分
配 16.2 Android优化 16.2.1 内存
分
配跟踪Allocation Tracker 16.2.2 内存监控Heap 16.2.3 内存...
0行
代码
写服务服务-服务发布-
调用
一键生成接口测试postman
调用
文件
生成postman
调用
接口,直接导入即可测试,不需要单独也写接口文档,也不需要使用swangger在
代码
中单独增加注释。字段长度类型,大小一目了然。 4.可生成controller、service、dao、...
STM32HAL库+K210实现遥控+避障+循迹小车
文件
内涵
代码
解释视频和作品演示视频,以及各种详细说明,使用STM32CUBEMX对STM32F103C8T6进行配置,K210与单片机进行串口通信,K210将识别到的黑色色块中心坐标
发送
单片机,将一帧数据传给单片机之后,单片机判断...
蓝牙模块
HC08 和 手机APP数据传输 (STM32
代码
)
蓝牙4.0,BLE,主从一体 模块上电后,启动需要150ms 默认波特率:9600 模块未连接时,为AT指令模式,连接后为串口透传模式; 空中速率:1Mbps; (与HC05, HC06等不同, 不能直接与之通信) 通信距离:80米; (空旷)...
Windows客户端开发
7,655
社区成员
18,845
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章