CE下获取连接好的打印机的蓝牙地址

andyluajr318 2015-07-17 04:39:15
在开发手持机(CE系统)程序时,由于定制的原因,打印方式和一般不同,手持机连接好打印机后,
需要另外获取打印机的蓝牙地址。 ce里有撒api不拉,谢谢或者有其他方法么?
...全文
183 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hf62580 2015-07-23
  • 打赏
  • 举报
回复
int __stdcall createCom() { //BtFind(); PORTEMUPortParams pp ; HKEY hRoot = HKEY_LOCAL_MACHINE; TCHAR *szSubKey = _T("software\\microsoft\\bluetooth\\device\\printer"); WCHAR szString[256]; HKEY hKey; DWORD dwDisposition = REG_OPENED_EXISTING_KEY; // DWORD val; DWORD dwType; long lRet; ZeroMemory(&pp, sizeof(pp)); memset(szString,0,256); lRet = RegCreateKeyEx(hRoot,szSubKey,0,NULL,REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,&hKey,&dwDisposition); if(lRet == ERROR_SUCCESS) { TCHAR szBuffer[256]; DWORD dwSize=256; ZeroMemory(szBuffer,256); DWORD dIndex; dIndex=0L; lRet =RegEnumKeyEx(hKey,dIndex,szBuffer,&dwSize,NULL,NULL,NULL,NULL); if(lRet == ERROR_SUCCESS) { pp.channel = 1 ;// the next available channel //pp.flocal = TRUE; //pp.uiportflags = RFCOMM_PORT_FLAGS_REMOTE_DCB | RFCOMM_PORT_FLAGS_AUTHENTICATE |RFCOMM_PORT_FLAGS_ENCRYPT; GetBA(szBuffer, &pp.device); pp.uiportflags = RFCOMM_PORT_FLAGS_REMOTE_DCB | RFCOMM_PORT_FLAGS_AUTHENTICATE |RFCOMM_PORT_FLAGS_ENCRYPT; m_hDev = RegisterDevice(_T("COM"), 9, _T("btd.dll"), (DWORD)&pp); RegCloseKey(hKey); if (m_hDev == NULL) { return -1; } else { SetHandle(); return 0; } } } } int GetBA (WCHAR *pp, BT_ADDR *pba) { // Bump pointer through any leading spaces int i = 0 ; while (*pp == ' ') ++pp; for (i = 0 ; i < 4 ; ++i, ++pp) { if (!iswxdigit (*pp)) return(FALSE); int c = *pp; if (c >= 'a') c = c - 'a' + 0xa; else if (c >= 'A') c = c - 'A' + 0xa; else c = c - '0'; if ((c < 0) || (c > 16)) return(FALSE); *pba = *pba * 16 + c; } for (i = 0; i < 8 ; ++i, ++pp) { if (!iswxdigit (*pp)) return(FALSE); int c = *pp; if (c >= 'a') c = c - 'a' + 0xa; else if (c >= 'A') c = c - 'A' + 0xa; else c = c - '0'; if ((c < 0) || (c > 16)) return(FALSE); *pba = *pba * 16 + c; } if ((*pp != ' ') && (*pp != '\0')) return(FALSE); else return(TRUE); }
91program 2015-07-17
  • 打赏
  • 举报
回复
CE 是没有这种功能 API 的。 你的BT是使用 Module,还是协议栈? 如果是 Module,可以通过 AT 指令获取;如果是 CE 协议栈,则需要协议栈提供这个功能。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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