我的爱机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入门(转)相关推荐

  1. [组图]一切从零开始 Symbian智能机之软件入门(转)

    购买NOKIA智能手机的朋友们会发现,NOKIA采用的是一种叫做Symbian的操作系统.Symbian由摩托罗拉.西门子.诺基亚等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系 ...

  2. VS2005工程由Pocket PC 2003 SDK转为WINCE6.0 SDK的问题

    把VS2005工程有采用的Pocket PC 2003 SDK改为WINCE6.0 SDK,具体操作见链接 http://blog.csdn.net/loongembedded/article/det ...

  3. mSystems:苏晓泉、徐健等发布全球微生物组结构和功能搜索平台2.0

    Microbiome Search Engine 2 第二代微生物组搜索引擎:全球微生物组结构和功能搜索的平台 Microbiome Search Engine 2: a Platform for T ...

  4. 无延时直播/超低延时直播画面同步性测试(实测组图)

    阿酷TONY  / 原创  2022-11-30 /  长沙  /  超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~ ...

  5. 基于OBS超低延迟直播实测(400毫秒左右)超多组图

    阿酷TONY,原创文章,长沙. 文章简述:本文介绍使用OBS无延迟直播插件在第三方云平台,如何实现超低延时直播的完整教程(延迟约为400毫秒左右,通常延迟是3-15秒). OBS简要介绍 OBS(Op ...

  6. 无延时直播/超低延时直播实际测试延时效果(项目实测组图)

    阿酷TONY  /   2022-11-30 /  长沙  /  超多组图 无延时直播/超低延时直播,主要只测试延时情况,没有涉及直播产品的功能.使用操作界面,有兴趣的朋友可以加联系我实际测试哦~~~ ...

  7. 国内邮件服务器 评测,Windows下的邮件服务器性能评测(组图)

    <Windows下的邮件服务器性能评测(组图)>由会员分享,可在线阅读,更多相关<Windows下的邮件服务器性能评测(组图)(15页珍藏版)>请在人人文库网上搜索. 1.前言 ...

  8. 这样用组图创作内容,能让你的文章被转发

     1亿篇图文大数据分析:这样用组图创作内容,能让你的文章被转发 新榜--内容创业服务平台 2017-06-01 12:18 阅读:915 原标题<要想文章被疯转,你得这样用组图!基于1亿篇图 ...

  9. java或异运算_JAVA 或与非运算符 与()、或(|)、异或(^)【组图】

    JAVA 或与非运算符 与(&).或(|).异或(^)[组图] 08-18栏目:技术 TAG:或与非 或与非 运算步骤: www.jhua.org 第一步:.转成二进制,即01表示的数字,如5 ...

最新文章

  1. 一个简单的DWR入门例子
  2. xml节点的添加和删除
  3. axureux中后台管理信息系统通用原型方案 v2_前端公共图表数据大盘方案
  4. [恢]hdu 2087
  5. CentOS 6系统启动流程细微解读,不可忽略引导扇区的1.5阶段。
  6. string 类的常用方法 substring indexof length
  7. IIS下发布关于Excel导入导出时遇到的问题集锦(转)
  8. 海洋工作室成立啦!!
  9. 使用Scylla进行OSINT信息收集
  10. 推荐好用的Linux远程连接工具
  11. 超详细的抖音养号上热门技巧,看完这一篇就够了
  12. linux库文件编译的makefile
  13. 雪花屏幕保护程序(VB.ENT)
  14. 基于二维码的室内定位技术(二)——实现
  15. 158 鄭光弼 守夫
  16. python怎么判断真假_Python不超过10行代码就可实现人脸识别,教你辨别真假
  17. openlayers结合谷歌api进行地图定位
  18. 使用og协议分享web页面到WhatsApp
  19. 网易视频云:构建一站式视频云点播平台的关键技术
  20. 旧物回收软件都需要哪些功能?

热门文章

  1. 突出核心素养,探寻一轮新路
  2. 念白白 php,念白的四字精髓 :真、正、情、劲
  3. 次世代主机游戏战争打响,5G时代下索尼微软任天堂该何去何从?
  4. java graphics画圆,c# Graphics使用方法(画圆写字代码)
  5. 干货 | 简简单单,用 LSTM 创造一个写诗机器人
  6. powerpoint无法从_如何重用或从另一个PowerPoint演示文稿导入幻灯片
  7. 今年双11,你盖楼了吗?| 大数据解读,双11那些有趣的事儿...
  8. [Android6.0][RK3399] PCIe 转 SATA 调试步骤
  9. pdf如何导出为图片?分享三个方法PDF转图片!
  10. Android 扩大View的点击范围