,移动开发   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,移动开发
您的位置:软件 > 开发者网络 > 开发工具 > 移动开发 > 正文
.NET Framework 精简版访问电话API
[文章信息]
作者:
时间:2003-06-28
出处:Microsoft
责任编辑:方舟
[文章导读]
学习如何使用.NET Framework 精简版的电话API设计访问电话的应用程序......
advertisement
热点推荐
· 深入探讨SQL Server 2000对XML的支持
· Swing(空)
· 3DS Stodio Max 宝典
· 中小企业服务器配置方案--前 言
· 中小企业服务器配置方案--代理接入服务器(3)
[正文]

1 2 3  下一页

  摘要:学习如何从基于 .NET Framework 精简版的应用程序访问电话 API。

  简介

  本文旨在通过另外一个示例,说明在用 C# 和 VB.NET 编写的托管代码中调用本机 Microsoft? Win32? API 是大有裨益的。下面,我们看看 Pocket PC Phone Edition 支持的通用电话 API。

  使用 C# 创建电话呼叫

  本文下面所引用的所有代码都可以从此处下载(英文)。创建呼叫是一个基本操作;我们传递 PhoneMakeCall (Win32 API),它是一个字符串,指示目标地址以及是否需要在呼叫前确认等操作。我们需要进行多项声明。

  private static long PMCF_DEFAULT = 0x00000001;
  private static long PMCF_PROMPTBEFORECALLING = 0x00000002;

  然后定义一个对我们的目的用途不太大的结构。

private struct PhoneMakeCallInfo
{
public IntPtr cbSize;
public IntPtr dwFlags;
public IntPtr pszDestAddress;
public IntPtr pszAppName;
public IntPtr pszCalledParty;
public IntPtr pszComment;
}

  cbSize 表明 PhoneMakeCallInfo 结构的大小。dwFlags 是一个选项位,用于指定呼叫前是否提示用户。pszDestAddress 是一个指针,指向要拨打的电话号码。当前不支持 pszAppName。pszCalledParty 为可选项,表示被叫方的姓名,大小有限。当前不支持 pszComment。现在,我们激活 PInvoke 并调用 DLLImport,以便访问 API 函数 PhoneMakeCall。

  [DllImport("phone.dll")]
  private static extern IntPtr PhoneMakeCall(ref PhoneMakeCallInfo ppmci);

  为了方便起见,我们包含了一个辅助函数,以便省略拨号前确认 Boolean。

/// <summary>
/// 拨打指定的电话号码。
/// </summary>
/// <param name="PhoneNumber">要拨打的电话号码。</param>
public static void MakeCall(string PhoneNumber)
{
MakeCall(PhoneNumber, false);
}

  下面介绍一下 MakeCall 的功能。简而言之,我们将 PhoneNumber 参数(作为字符串传递)分割成一个字符数组。

  PhoneNumber += '\0';
  char[] cPhoneNumber = PhoneNumber.ToCharArray();

  指向字符数组在内存中的内存地址,并为此变量加上 fixed 关键字,表示不希望内存回收器移动固定括号内的内容。

PhoneMakeCallInfo info = new PhoneMakeCallInfo();
info.cbSize = (IntPtr)Marshal.SizeOf(info);
info.pszDestAddress = (IntPtr)pAddr;

if (PromptBeforeCall)
{
info.dwFlags = (IntPtr)PMCF_PROMPTBEFORECALLING;
}
else
{
info.dwFlags = (IntPtr)PMCF_DEFAULT;
}

  创建一个新的 PhoneMakeCallInfo 结构实例,指示是否希望在拨号之前进行确认以及是否将电话号码插入 pszDestAddress 字段。最后,我们将该结构实例作为引用传入 PhoneMakeCall。此函数使用 unsafe 关键字进行了修饰,因为它使用指针和直接内存访问。


1 2 3  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
,移动开发相关内容,移动开发焦点新闻
  • .NET Framework 精简版多线程提示
  • PDB文件结构分析
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,移动开发Advertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价