社区
Windows客户端开发
帖子详情
300分,求调用系统蓝牙模块发送文件的代码!
avisnet
2007-06-12 10:08:56
可用后马上结贴!
...全文
367
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
打赏
举报
回复
没有做过
原生旋转木马3d轮播图 + 封装
【
代码
】元素旋转木马3d轮播图 + 封装。
【uniapp】3d轮播图/堆叠轮播图/层叠轮播图
前言 uniapp 3d轮播图 uniapp实现3D轮播图 从uniapp插件市场下载插件:https://ext.dcloud.net.cn/plugin?id=243#detail 操作步骤 导入插件 <script> import currySwiper from "@/components/curry-swiper/curry-swiper.vue" import currySlide from "@/components/curry-swiper/curry-slide.
vue3旋转木马型轮播图,环型滚动
【
代码
】vue3旋转木马型轮播图,环型滚动。
在vue脚手架中,学习实现一个轮播图(2-旋转木马)
在vue脚手架环境中,学习实现一个轮播图(旋转木马样的)
vue3.0 实现旋转木马
做的比较丑 最后图片 本来打算用vue-carousel-3d这个组件的,但是这个组件一直报源码错误,修改了半天也没有解决 使用了swiper组件 html部
分
代码
<div class="swiper-container swiper1" style="height: 650px;width: 1500px"> <div class="swiper-wrapper"> <div class="swiper-slide">
Windows客户端开发
7,655
社区成员
18,839
社区内容
发帖
与我相关
我的任务
Windows客户端开发
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
复制链接
扫一扫
分享
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章