RAPI的应用

RAPI:Remote Application Programming Interface

RAPI是基于ActiveSync的.所以在Device要加ActiveSync的组件,同时PC端要装ActiveSync。这样Device是server端,PC是Client端。
我是用VC6.0作为工具编写PC端APP来控制Device的。当然我们原来的VC中并没有包含RAPI的相关API实现,所以要添加RAPI的相关lib文件和头文件:RAPI.lib和RAPI.h。同时要在project\settings里面设置连接RAPI.lib。
相关编程环境建立后就可以开始编程了。

1) 初始化RAPI。
   开始编写的时候忘了这一点,结果总是不行。后来在网上狂搜,搜到了微软日本的一篇相关文章,才搞明白。日语里面有很多汉字,大体还知道他在说什么,看来武大郎的故事有可能是真的哦!
   HRESULT hr = CeRapiInit(); //must initilize RAPI first before performing other operation.
    if ( hr != ERROR_SUCCESS )
      { return; }

2) 下面以修改蓝牙注册表为例:
    打开注册表:
    wcscpy((wchar_t *)Name, L"Software\\Microsoft\\Bluetooth\\HCI\\psKey");
   if ((lRet = CeRegOpenKeyEx(HKEY_LOCAL_MACHINE, (wchar_t *)Name, 0, 0, &hChildKey))             == ERROR_SUCCESS)
   {.......}
   RAPI的函数都使用unicode,所以所有字符串都必须是unicode形式。这一点要注意。

   查询注册表的值:
   if (ERROR_SUCCESS == (lRet = CeRegQueryValueEx(hChildKey,
  L"Pskey2", NULL, &dwType, (LPBYTE)Data,
  &dwSize)))

   修改注册表的值:
   if(ERROR_SUCCESS == (lRet = CeRegSetValueEx(hChildKey,
  L"Pskey2", NULL, NULL, (LPBYTE)&wData,
  sizeof(wData))))

   然后关闭注册表项:
   CeRegCloseKey(hChildKey);

3) 关闭RAPI
   CeRapiUninit();


我对RAPI的了解只是皮毛。随着了解的深入,我们可以用它写出强大的应用程序,比如完美的通过ActiveSync的升级程序。

转载于:https://www.cnblogs.com/yakin/archive/2005/07/20/196569.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值