[组图]Nokia PC Connectivity SDK 3.0入门(转)
我的爱机8210陪伴我好几年了,一直想给他找个软件备份上面的数据,看了别人写的程序,自己也心痒痒。于是,去Nokia的网站找到了PC Connectivity SDK 3.0,借助这个SDK进行开发,便能实现我的要求。好了,废话不多说,直接进入主题。
首先,确认你有个Nokia手机,还得是那种能与计算机连接的(通过数据线,红外线,蓝牙都可以);其次,下载SDK,如果想在Nokia.com上下载,你需要注册用户,而在CSDN的移动开发板块下载(http://www.csdn.net/mobile/nokia/ncsp.aspx?id=10200)则能免去注册的麻烦。
安装你下载的程序,重启机器后,会发现系统托盘区多了一个手机样子的小图标,没错,他就是“Nokia Connection Manager”,专门负责计算机与手机间的数据通信。打开我的8210上的红外接口,将它放置在计算机的红外适配器旁,如果连接成功,双击小图标,可见如下界面,我的8210已经被程序检测到。
以后每次启动机器时,“Nokia Connection Manager”都会自动启动。在“开始”菜单中选择“运行”,键入“msconfig”,在弹出的窗口中选择“启动”页,将“NclTray”前的钩取消,便能避免自动运行了。以后可以在控制面板中手工启动“NclTray”。在自己编写的程序中启动可以使用以下方法:
WinExec(“control.exe NclConf.cpl”, SW_NORMAL);
或者使用:rundll32:rundll32 shell32.dll,Control_RunDLL NclConf.cpl
从注册表中也可以获得完整的安装路径:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionApp PathsNclConf.exe
现在请打开“开始菜单”,进入“Nokia PC Connectivity SDK 3.0”新条目,你会看到两个PDF格式的开发文档。他们将成为我们今后开发过程中唯一的参考资料(至少目前我只看到这一份,Nokia论坛上虽有PC Connectivity SDK的专栏,却很令人失望)。选择“Nokia PC Connectivity SDK 3.0 – Component Library Reference”,首先查看1.2和1.3小节(在第9页,点击目录中的条目可自动跳至该页),节选如下:
1.2 Prerequisites
To be able to use Nokia PC Connectivity SDK you need:
• DLR-3P connection cable (available separately)
• IrDA connection
• Compatible Bluetooth connection
• DKU-2 USB connection cable (available separately)
• DKU-5 USB connection cable (available separately)
• DKU-6 USB connection cable (available separately)
1.3 Supported Phones
Nokia PC Connectivity SDK 3.0 supports the following phones:
Phone |
Type |
Nokia 3320 |
NPC-1 |
Nokia 3360 |
NPW-1 |
Nokia 6210 |
NPE-3 |
Nokia 6250 |
NHM-3 |
Nokia 6310 |
NPE-4 |
Nokia 6310i |
NPL-1 |
Nokia 6340 |
NPM-2 |
Nokia 6360 |
NPW-2 |
Nokia 6370 |
NHP-2 |
Nokia 6385 |
NHP-2 |
Nokia 6510 |
NPM-9 |
Nokia 6590 |
NSM-9 |
Nokia 6610 |
NHL-4U |
Nokia 6650 |
NHM-1 |
Nokia 7110 |
NSE-5 |
Nokia 7160 |
NSW-5 |
Nokia 7190 |
NSB-5 |
Nokia 7210 |
NHL-4 |
Nokia 8210 |
NSM-3 |
Nokia 8290 |
NSB-7 |
Nokia 8310 |
NHM-7 |
Nokia 8390 |
NSB-8 |
Nokia 8810 |
NSE-6 |
Nokia 8850 |
NSM-2 |
Nokia 8890 |
NSB-6 |
Nokia 8910 |
NHM-4 |
看看你的设备是否在其中呢?我们再查看第3节“Language Support”,这可是必读小节,要想编写代码,正确安装类库是基础。参考手册主要以VC,VB(VS6.0)和Delphi(4.0)为例,并简单讲解了在三种工具中进行com开发的一些注意事项。我使用Delphi7.0,也许是SDK 3.0中的内容更新过,在Delphi7.0中安装类库时,类库的内容与SDK 3.0 Reference中的图片不一样,多了不少内容。
SDK 3.0 Reference中的图片
我安装时的效果
默认情况下,所有的类库图标都备放置到ActiveX面板内,为了更好的管理和使用,我将他们安装到以“Nokia”为名的新面板下。好了,下面我就简单的编写几行代码,以Delphi为例。
启动Delphi,新建一个Application。在窗体上放置一个TPhoneInfo_Suite3控件并命名为PIS3,这个控件是用来收集手机基本信息的,性质就和收集CPU和操作系统信息一样;再放置一个TMemo和TStatusBar,分别命名为mPhoneInfo和StatusBar。然后添加如下代码:
var
pVal: widestring;
DevStatus: DevNotifyOpt;
Begin
//获得设备连接信息
PIS3.get_DeviceStatus(DevStatus);
//清空Memo
mPhoneInfo.Clear;
//设备的链接状况共有四种分别是UNKNOWN,ATTACKED,REMOVED和
//DISCONNECTED
case DevStatus of
UNKNOWN : StatusBar.Panels.Items[0].Text := 'Status: Unknown';
ATTACHED : begin
StatusBar.Panels.Items[0].Text := 'Status: Attached';
//获得软件版本号
PIS3.DefaultInterface.Get_SwVersion(pVal);
mPhoneInfo.Lines.Add('SwVerSion: ' + pVal);
//获得硬件版本号
PIS3.DefaultInterface.Get_HwVersion(pVal);
mPhoneInfo.Lines.Add('HwVersion: ' + pVal);
//获得产品类型
PIS3.DefaultInterface.Get_ProductType(pVal);
mPhoneInfo.Lines.Add('ProductType: ' + pVal);
//获得产品编码
PIS3.DefaultInterface.Get_ProductCode(pVal);
mPhoneInfo.Lines.Add('ProductCode: ' + pVal);
end;
REMOVED : StatusBar.Panels.Items[0].Text := 'Status: Removed';
DISCONNECTED : StatusBar.Panels.Items[0].Text := 'Status: Disconnected';
end;
end;
运行这段代码,如果你的手机正确连接,将能够看到相关信息。
下面两段代码分别实现发送短消息和获取电话本资料的功能:
//发送短消息,在窗体上放置一个TSMS_SuiteAdapter命名为SMSSend
//放置一个TMemo命名为mSMSText,用以输入短信内容
//放置一个TEdit命名为ePhoneNumber,用以输入接收方号码
var
pSMS: IShortMessage;
wsSMSText:widestring;
begin
SMSSend.CreateShortMsg(pSMS);
pSMS.Set_UserDataText(mSMSText.Lines.Text);
pSMS.Set_OtherEndAddress(ePhoneNumber.Text);
SMSSend.Send(pSMS);
end;
//获得电话本信息,在窗体上放置一个TPhonebookSuite3,命名为PhonebookSuite
//一个TMemo命名为mPhonebookInfo,用以存放获得的电话本信息
var
pVal : WideString;
Info: IContact;
pTotal, pFull, pFree, i: integer;
begin
//MEMORY_DEFAULT是访问默认存储器,假如你当前设置的电话本存储器是SIM卡,
//而所有的电话号码却存储在手机上,或者SIM卡和手机里都有电话本资料,那么就需
//要分别访问两个存储器,以获得全部信息。
PhonebookSuite.GetMemoryCaps(MEMORY_DEFAULT,pTotal, pFull, pFree);
mPhonebookInfo.Clear;
//获得当前存储器总空间
MPhonebookInfo.Lines.Add('Total:'+IntToStr(pTotal));
//获得当前存储器已使用空间
MPhonebookInfo.Lines.Add('Full:'+IntToStr(pFull));
//获得当前存储器剩余空间
MPhonebookInfo.Lines.Add('Free:'+IntToStr(pFree));
MPhonebookInfo.Lines.Add('================'#13#10);
for i:=1 to pFull do
begin
//从当前存储器中取得名片信息
PhonebookSuite.GetContact(MEMORY_DEFAULT, i, Info);
//从获得的名片信息中解析出号码
Info.Get_Number(pVal);
mPhonebookInfo.Lines.Add(pVal);
//从获得的名片中解析出名字
Info.Get_Name(pVal);
MPhonebookInfo.Lines.Add(pVal);
MPhonebookInfo.Lines.Add('---------------');
end;
end;
下面的图片便是效果:
几个简单的示例,仅仅说明一下入门的方法,以上几个控件还有很多功能可以使用。更多的信息就要查阅SDK带的手册了,总体来说手册讲的比较详细,接口模型、函数的类型和用法都进行了叙述,并有适当的代码举例,但恰恰可惜的就是所有的举例都是VB代码。在使用其他语言编程时,还需要自己做一些摸索。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-126131/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/10294527/viewspace-126131/
[组图]Nokia PC Connectivity SDK 3.0入门(转)相关推荐
- [组图]一切从零开始 Symbian智能机之软件入门(转)
购买NOKIA智能手机的朋友们会发现,NOKIA采用的是一种叫做Symbian的操作系统.Symbian由摩托罗拉.西门子.诺基亚等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系 ...
- VS2005工程由Pocket PC 2003 SDK转为WINCE6.0 SDK的问题
把VS2005工程有采用的Pocket PC 2003 SDK改为WINCE6.0 SDK,具体操作见链接 http://blog.csdn.net/loongembedded/article/det ...
- mSystems:苏晓泉、徐健等发布全球微生物组结构和功能搜索平台2.0
Microbiome Search Engine 2 第二代微生物组搜索引擎:全球微生物组结构和功能搜索的平台 Microbiome Search Engine 2: a Platform for T ...
- 无延时直播/超低延时直播画面同步性测试(实测组图)
阿酷TONY / 原创 2022-11-30 / 长沙 / 超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~ ...
- 基于OBS超低延迟直播实测(400毫秒左右)超多组图
阿酷TONY,原创文章,长沙. 文章简述:本文介绍使用OBS无延迟直播插件在第三方云平台,如何实现超低延时直播的完整教程(延迟约为400毫秒左右,通常延迟是3-15秒). OBS简要介绍 OBS(Op ...
- 无延时直播/超低延时直播实际测试延时效果(项目实测组图)
阿酷TONY / 2022-11-30 / 长沙 / 超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~~~ ...
- 国内邮件服务器 评测,Windows下的邮件服务器性能评测(组图)
<Windows下的邮件服务器性能评测(组图)>由会员分享,可在线阅读,更多相关<Windows下的邮件服务器性能评测(组图)(15页珍藏版)>请在人人文库网上搜索. 1.前言 ...
- 这样用组图创作内容,能让你的文章被转发
1亿篇图文大数据分析:这样用组图创作内容,能让你的文章被转发 新榜--内容创业服务平台 2017-06-01 12:18 阅读:915 原标题<要想文章被疯转,你得这样用组图!基于1亿篇图 ...
- java或异运算_JAVA 或与非运算符 与()、或(|)、异或(^)【组图】
JAVA 或与非运算符 与(&).或(|).异或(^)[组图] 08-18栏目:技术 TAG:或与非 或与非 运算步骤: www.jhua.org 第一步:.转成二进制,即01表示的数字,如5 ...
最新文章
- 一个简单的DWR入门例子
- xml节点的添加和删除
- axureux中后台管理信息系统通用原型方案 v2_前端公共图表数据大盘方案
- [恢]hdu 2087
- CentOS 6系统启动流程细微解读,不可忽略引导扇区的1.5阶段。
- string 类的常用方法 substring indexof length
- IIS下发布关于Excel导入导出时遇到的问题集锦(转)
- 海洋工作室成立啦!!
- 使用Scylla进行OSINT信息收集
- 推荐好用的Linux远程连接工具
- 超详细的抖音养号上热门技巧,看完这一篇就够了
- linux库文件编译的makefile
- 雪花屏幕保护程序(VB.ENT)
- 基于二维码的室内定位技术(二)——实现
- 158 鄭光弼 守夫
- python怎么判断真假_Python不超过10行代码就可实现人脸识别,教你辨别真假
- openlayers结合谷歌api进行地图定位
- 使用og协议分享web页面到WhatsApp
- 网易视频云:构建一站式视频云点播平台的关键技术
- 旧物回收软件都需要哪些功能?
热门文章
- 突出核心素养,探寻一轮新路
- 念白白 php,念白的四字精髓 :真、正、情、劲
- 次世代主机游戏战争打响,5G时代下索尼微软任天堂该何去何从?
- java graphics画圆,c# Graphics使用方法(画圆写字代码)
- 干货 | 简简单单,用 LSTM 创造一个写诗机器人
- powerpoint无法从_如何重用或从另一个PowerPoint演示文稿导入幻灯片
- 今年双11,你盖楼了吗?| 大数据解读,双11那些有趣的事儿...
- [Android6.0][RK3399] PCIe 转 SATA 调试步骤
- pdf如何导出为图片?分享三个方法PDF转图片!
- Android 扩大View的点击范围