『原创』用C++开发WM应用系列(2)——拨打电话

用C++开发WM应用系列文章索引

引言:

  在上一节中,我们通过了一个MFC智能设备程序项目,带大家一起走进了Native c++开发WM的大门,我们了解了如何为程序添加控件、事件,以及自定义自己的类、方法。以及如何让程序来处理这些事件。当然,今天在这里也不忘推荐大家去阅读“这本书”,今天呢,接上一节所说,我们来做一个和WM有关的小程序,就是打电话,我们要让程序在点击一个按钮后,拨出一个号码,很简单,但是也基本上很有代表性!

  不过既然要让程序打电话,除非你可以有真实设备测试,否则请你安装一个WM6 sdk吧,它有个蜂窝模拟器,很不错。

  下载地址详细请参看黎波老师的文章:http://www.cnblogs.com/upto/archive/2007/03/13/mobile-development-tools.html

  使用方法详细请参看peterzb前辈的文章:http://www.cnblogs.com/peterzb/archive/2009/06/13/1502771.html

  用模拟器打电话请参看黎波老师的这篇文章:http://www.cnblogs.com/upto/archive/2007/02/14/cellular-emulater-in-wm6sdk.html

  Ok,工欲善其事,必先利其器。准备好了前期工作,我们就可以开始今天的探索啦!

正文:

  受水平所限,我们这次依然创建一个基于MFC模板的智能设备应用程序把,项目名称叫做“MakeCall”,老样子,vs还是给我们生成了一些源文件、头文件等,打开“资源视图”窗口,依然可以看到我们的对话框。相信大家之前已经通过各种方式,了解到了这些东东的含义,我在此就不赘述鸟。我们还是打开对话框资源,拖动一个button到窗体上,更改它的Caption属性为:Make it(为什么不用DO it呢?这个就关系到e文的背景了,很不和谐的意思~在此略过~)。把原来那条TODO:xxxxx的Caption属性改为:We Will Make A Call,当然内容随便你哦。

  这里,既然上面说是:点击一个按钮后,拨出一个号码。我们自然的为button1或者说Make it按钮添加“事件处理程序”,具体方法:右键点击按钮,选择“添加时间处理程序”,配置一般默认即可!

  Ok!方法体已经有了,剩下来的就是添加那个“打电话”的方法啦,不知有人还记得吗?.Net CF下拨打电话太简单了,引用Microsoft.WindowsMobile.Telephony命名空间,然后使用其下的Phone类中的Talk方法,即可拨打电话。现在我们在C++环境下,是不是这样呢?肯定不是,不过也差不多,我们也要去引用一个所谓的“命名空间”,但大家喜欢在这里(MFC)叫他“库文件”。当我们刚想去引用的时候,发现原来的方法不得行了,右键菜单里面没有“引用——》添加引用”了哦~,只有一个“引用...”。没关系,换汤不换药嘛,大胆的点开它~

  天哪~完全不知所措?不怕,看图说话,我们按图中的序号选择,到第四步时,输入"phone.lib"即可。

  

  哎,你可能问我:“你怎么知道写phone.lib,为什么不是iPhone.lib呢?”,其实,通过查阅WM6 SDK自带的文档,我们基本上能查阅到所有主要功能代码以及它所属的lib,具体还请各位私下查阅吧。填好后,我们确定即可。

  到这里,基本上了~接下来,我们为MakeCallDlg.cpp中的OnBnClickedButton1添加拨号代码如下:我们的PHONEMAKECALLINFO结构体,以及PhoneMakeCall方法均可在MSDN中查到。

void CMakeCallDlg::OnBnClickedButton1()
    {
        PHONEMAKECALLINFO callinfo;
        callinfo.cbSize = sizeof(callinfo);
        callinfo.dwFlags= PMCF_PROMPTBEFORECALLING;//PMCF_DEFAULT
        callinfo.pszDestAddress = L"13411897756";
        PhoneMakeCall(&callinfo); 
    } 

  Ok,最后,请记得,在MakeCallDlg.cpp顶部#include"phone.h"哦!接下来应该是顺利编译通过。然后就可以看到模拟器中,有一个打给13411897756的电话正在通话中了!

总结:

我们学会了:

  1. 为程序完成特定功能添加引用
  2. 拨打电话方法的使用
  3. 修改控件的基本属性

问题:

我们也看到:

  1. 拨号很死板,应该要灵活设置号码
  2. ... ...

后记:

在接下来的一节中,我们将来改进一下这个程序,让他的拨号支持我们的输入,以及添加一个发送短信的功能在里面,届时我们又可以多学几个控件以及方法的使用。

posted @ 2010-02-04 22:43  Jack Fan  阅读(2374)  评论(7编辑  收藏  举报
TOP