社区
Windows客户端开发
帖子详情
300分,求调用系统蓝牙模块发送文件的代码!
avisnet
2007-06-12 10:08:56
可用后马上结贴!
...全文
325
5
打赏
收藏
300分,求调用系统蓝牙模块发送文件的代码!
可用后马上结贴!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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
打赏
举报
回复
没有做过
蓝牙模块
程序_kitchenfop_
蓝牙模块
程序_C51
蓝牙模块
_
蓝牙模块
代码
_
标题中的“
蓝牙模块
程序_kitchenfop_
蓝牙模块
程序_C51
蓝牙模块
_
蓝牙模块
代码
_”表明这是一个关于C51单片机上的
蓝牙模块
程序,由“kitchenfop”开发或
分
享。C51单片机是Atmel公司生产的8位微控制器,广泛应用于各种...
连接
蓝牙模块
源码
本文将详细讲解如何连接
蓝牙模块
,并基于提供的资源——"连接
蓝牙模块
源码",来深入理解蓝牙连接的实现。 首先,蓝牙连接的基本原理是通过蓝牙协议栈进行数据传输。蓝牙协议栈包括物理层、链路层、网络层、传输层和...
HC05蓝牙-基于HAL库的STM32F1
蓝牙模块
代码
代码
中会涉及一系列初始化函数的
调用
,这些函数可能包括配置
蓝牙模块
为从设备模式、设置设备名称、配对密码等,确保
蓝牙模块
能够正常工作。在模块初始化之后,开发者便可以使用串口通信函数来
发送
字符串数据。
发送
...
bluetooth-TC35661
蓝牙模块
的KEIL5的程序
本文将详细讲解基于`TC35661`
蓝牙模块
在`STM32`微控制器上使用`KEIL5`开发环境的程序实现。`TC35661`是一款高性能、低功耗的蓝牙4.0模块,适用于各种物联网(IoT)应用。它由东芝公司制造,并且与`bm77`模块兼容,这...
51单片机与
蓝牙模块
的串口通信C程序
2. **
蓝牙模块
配置**:通过单片机向
蓝牙模块
发送
特定的AT指令(Attention Command),设置
蓝牙模块
的工作模式、波特率等参数,使其与51单片机的串口配置匹配。 3. **数据传输**:当配置完成后,单片机可以通过串口...
Windows客户端开发
7,659
社区成员
18,840
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章