none
如何在Windows Mobile 6上用程式方式掛斷一通電話(Voice Call)? RRS feed

  • 問題

  • 大家好,
    小弟使用VS2005 C#來進行Windows Mobile 6的開發,目前需要一個用程式方式掛斷電話的方法,小弟已經嘗試過使用RIL_HangUp的方式,但是不管用,其回傳值為負數,表示執行失敗,以下是小弟的程式碼,請問還有沒有其他方法可用?還是小弟的程式哪裡有問題?

    [DllImport("ril.dll", EntryPoint = "RIL_Initialize")]
            private static extern IntPtr RIL_Initialize(int dwIndex, RILRESULTCALLBACK pfnResult, RILNOTIFYCALLBACK pfnNotify, int dwNotificationClasses, int dwParam, out IntPtr lphRil);
    [DllImport("ril.dll", EntryPoint = "RIL_Hangup")]
            private static extern IntPtr RIL_Hangup(IntPtr hRil);


    RILRESULTCALLBACK result = new RILRESULTCALLBACK(f_result);
    RILNOTIFYCALLBACK notify = new RILNOTIFYCALLBACK(f_notify);
    intPtr hRil = RIL_Initialize(1, result, notify, 0x00ff0000, g_RILData, out g_hRil);  //hRil回傳為0,代表執行成功

    Microsoft.WindowsMobile.Telephony.Phone currentPhone = new Microsoft.WindowsMobile.Telephony.Phone();

    currentPhone.Talk("117", false);  //撥打電話117,可接通

    IntPtr mytest = RIL_Hangup(hRil); //mytest回傳為負數,代表執行失敗
    2009年12月14日 上午 11:25

解答