Microsoft  CSIP   WindowsMobile   MEDC   合作伙伴   体验中心 设为首页 加到收藏夹

 
登录       点击换一张     注册新用户 找回密码

Windows Mobile如何编程实现免提功能
2008年05月06日03:41   编辑:黄季东 来源: 博客园 浏览: 680

前提
你的WM设备必须支持扬声器,模拟器自然不行

首先,需要导入用于发送按键消息的本地函数
    class NativeHelper
    
{
        
private const int KEYEVENTF_KEYUP = 0x0002;
        [DllImport(
"coredll.dll")]
        
private static extern void keybd_event(byte bVk, byte bScan, int dwFlags, int dwExtraInfo);
        
/// <summary>
        
/// 模拟按键触发扬声器
        
/// </summary>

        public static void TriggleSpeaker()
        
{
            keybd_event((
byte)Keys.F16, 000);
            Thread.Sleep(
500);
            keybd_event((
byte)Keys.F16, 0, KEYEVENTF_KEYUP, 0);
        }

        
/// <summary>
        
/// 模拟按键接电话
        
/// </summary>

        public static void AcceptCall()
        
{
            keybd_event((
byte)Keys.F3, 000);
            Thread.Sleep(
500);
            keybd_event((
byte)Keys.F3, 0, KEYEVENTF_KEYUP, 0);
        }

    }

调用的时候:
            SystemState phonestate = new SystemState(SystemProperty.PhoneIncomingCall);
            phonestate.Changed 
+= new ChangeEventHandler(phonestate_Changed);


        
void phonestate_Changed(object sender, ChangeEventArgs args)
        
{
            NativeHelper.AcceptCall();
            NativeHelper.TriggleSpeaker();
        }

Enjoy it!
发表评论
评论标题 :
评论内容 :

    查看评论

请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。 本站拥有管理笔名和留言的一切权利。
相关文章推荐
· .NET Compact Framework扩展控件 2008-4-28  youli_113
· 用.NET Compact Framework创建图像按钮 2008-4-28  youli_113
· 基于.net compact framework 2.0,C#开发windows mobile 5.0程序遇到的一些问题和解决 2008-4-28  佚名
· 托管代码中使用PocketOutlook轻松查找和添加联系人 2008-4-24  黄季冬
· .NET Compact Framework的二维图形引擎应用 2008-4-21   郁郁小蝎

  

论坛推荐  
热点活动
更多»

© CSIP 信息产业部软件与集成电路促进中心 All Rights Reserved 版权所有 京ICP备06020771号
联系电话:010-63951881-8003 王先生        邮件:wangj@csip.org.cn