请问C++ Builder如何实现蓝牙编程?

avigdkwynw 2010-07-29 05:37:11
实现类似IVT那样的功能,可以搜索到蓝牙设备,蓝牙配对,听MP3,传输文件等。。。
...全文
950 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
lshfong 2011-03-18
  • 打赏
  • 举报
回复
用开发包来搞好一点
xsnbzj 2011-02-19
  • 打赏
  • 举报
回复
蓝牙、WiFi现在确实很好很强大!不过了解的确实少!
laowang2 2011-02-19
  • 打赏
  • 举报
回复
蓝呀没搞过。
xieshen947 2011-02-19
  • 打赏
  • 举报
回复
支持!!!!!!!!!!!!!!!!!!
lingling1989r 2011-02-19
  • 打赏
  • 举报
回复
2010.7---2011.*
...
「已注销」 2011-02-17
  • 打赏
  • 举报
回复
没研究过,关注。。。
cptang 2011-02-14
  • 打赏
  • 举报
回复
nrcomm
一点难度都没有了
xiaoxue32188 2010-12-04
  • 打赏
  • 举报
回复
关注中……
chouyuanming 2010-12-02
  • 打赏
  • 举报
回复
有難度.....
bahic 2010-12-02
  • 打赏
  • 举报
回复
呵呵.不知道.等高手.
jacikafx 2010-11-17
  • 打赏
  • 举报
回复
之前研究过,可以用 Socket 函数搜索附近的蓝牙设备,成功时返回设备数,否则返回-1
int CBlueTooth::WSAScanNearbyBthDev ()
{
m_Ary_RemoteBthDevInfo.RemoveAll ();

WSAQUERYSET wsaq;
HANDLE hLookup;
union
{
CHAR buf[5000];
double __unused; // ensure proper alignment
};

LPWSAQUERYSET pwsaResults = (LPWSAQUERYSET) buf;
DWORD dwSize = sizeof(buf);
BOOL bHaveName;
ZeroMemory(&wsaq, sizeof(wsaq));
wsaq.dwSize = sizeof(wsaq);
wsaq.dwNameSpace = NS_BTH;
wsaq.lpcsaBuffer = NULL;
if (ERROR_SUCCESS != WSALookupServiceBegin (&wsaq, LUP_CONTAINERS, &hLookup))
{
TRACE ( _T("WSALookupServiceBegin failed\n") );
return -1;
}

ZeroMemory(pwsaResults, sizeof(WSAQUERYSET));
pwsaResults->dwSize = sizeof(WSAQUERYSET);
pwsaResults->dwNameSpace = NS_BTH;
pwsaResults->lpBlob = NULL;
while (ERROR_SUCCESS == WSALookupServiceNext (hLookup, LUP_RETURN_NAME | LUP_RETURN_ADDR, &dwSize, pwsaResults))
{
ASSERT (pwsaResults->dwNumberOfCsAddrs == 1);
BTH_ADDR b = ((SOCKADDR_BTH *)pwsaResults->lpcsaBuffer->RemoteAddr.lpSockaddr)->btAddr;
bHaveName = pwsaResults->lpszServiceInstanceName && *(pwsaResults->lpszServiceInstanceName);
t_RemoteBthDevInfo RemoteBthDevInfo;
if ( bHaveName )
{
StringCchPrintf ( RemoteBthDevInfo.szName, sizeof(RemoteBthDevInfo.szName), _T("%s"),
pwsaResults->lpszServiceInstanceName );
}
RemoteBthDevInfo.Address.ullLong = b;

TRACE (L"%s ( %04x%08x )\n", RemoteBthDevInfo.szName, GET_NAP(b), GET_SAP(b) );
m_Ary_RemoteBthDevInfo.Add ( RemoteBthDevInfo );
}
WSALookupServiceEnd(hLookup);

return (int)m_Ary_RemoteBthDevInfo.GetSize();
}
空或灵 2010-09-13
  • 打赏
  • 举报
回复
关注中,我想学习,
xuzhu3000 2010-07-30
  • 打赏
  • 举报
回复
不懂,看了就回个帖吧!关注中…………
明朝2013 2010-07-30
  • 打赏
  • 举报
回复
找到IVT的BlueSoleil_SDK,仔细看看那个开发包就可以搞定了..
ccrun.com 2010-07-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhouzhangkui 的回复:]
围观妖哥
[/Quote]
你来了。
周药师 2010-07-29
  • 打赏
  • 举报
回复
围观妖哥
周药师 2010-07-29
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/en-us/library/aa362901(VS.85).aspx

VS2005加上自带的MSDN才说明要windowsXP+sp1以上版本的SDK才有支持蓝牙。
windows上有两种bluetooth的开放接口,一种是以熟悉的windows sockets方式,
另外一种是新加入的BlueTooth APIs方式。在SDK的samples中只提到了windows sockets的方式。
而BlueTooth APIs只有仅仅的MSDN上的几页说明。我想以BlueToothAPIs的方式来开发,
其实最终目的是模仿win32的接口方式,开发在我们自己的嵌入式系统上的整套BlueTooth Stack,
当然,并不是打算把BlueTooth Specification 1.1中所设计到的所有protocol和profile,
首先主要HCI-> L2CAP-> RFCOMM-> OBEX,实现文件传输,然后再基于L2CAP-> SDP,L2CAP-> TCS-Binary
avigdkwynw 2010-07-29
  • 打赏
  • 举报
回复
不是吧,无语内牛ing。。。。。。。
ypb362148418 2010-07-29
  • 打赏
  • 举报
回复
哇!妖哥都说要等大牛,LZ你可以结贴了
ccrun.com 2010-07-29
  • 打赏
  • 举报
回复
这个问题有难度,占个位置等水源大牛来回答。
加载更多回复(1)

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧