GPRS 拨号
此示例代码展示如何使用电话相关的API(CallNotifyAPi)进行 GPRS 拨号。
分别使用三个接入点进行 GPRS 拨号
接入点名称为NULL,则选择设置里面默认的接入点名称进行 GPRS 拨号处理:if (RESULT_OK == Dial_StartGprsConnect2(m_hWnd, GPRS_FORCE_APP_TYPE)) { MzMessageBoxEx(m_hWnd, L"使用设置默认的接入点,GPRS拨号成功!", L"", MB_OK); }
使用提供的接入点名称(如:中国移动彩信,中国移动CMWAP,中国移动CMNET)进行 GPRS 拨号处理:if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动CMWAP")) { MzMessageBoxEx(m_hWnd, L"使用中国移动CMWAP接入点,GPRS拨号成功!", L"", MB_OK); }
断开 GPRS 连接:if (RESULT_OK == Dial_StopGprsConnect2(m_hWnd)) { MzMessageBoxEx(m_hWnd, L"GPRS 已断开!", L"", MB_OK); }
完整示例
/************************************************************************/ /* * Copyright (C) Meizu Technology Corporation Zhuhai China * All rights reserved. * 中国珠海, 魅族科技有限公司, 版权所有. * * This file is a part of the Meizu Foundation Classes library. * Author: * Create on: 2009-12-08 */ /************************************************************************/ //请按照以步骤运行此实例代码: //首先, 打开VS2005/2008创建一个Win 32智能设备项目 //在项目向导中选择M8SDK, 并勾选空项目 //然后,在项目中新建一个cpp文件,将此处代码拷贝到cpp文件中 //最后,按照M8SDK的帮助文档,配置项目属性 //现在,可以运行此程序了 //包含MZFC库的头文件 #include <mzfc_inc.h> #include <CallNotifyApi.h> //此代码演示了: // 创建和初始化应用程序 // 创建和初始化窗体 // PlatFormApi中CallNotifyApi的使用 #define MZ_IDC_STARTGPRSBTN 101 #define MZ_IDC_STARTGPRSBTN_MMS 102 #define MZ_IDC_STARTGPRSBTN_CMWAP 103 #define MZ_IDC_STARTGPRSBTN_CMNET 104 #define MZ_IDC_STOPGPRSBTN 105 #define MZ_IDC_EXITBTN 106 // 从 CMzWndEx 派生的主窗口类 class CSampleMainWnd : public CMzWndEx { MZ_DECLARE_DYNAMIC(CSampleMainWnd); public: UiButton m_StartGPRS; UiButton m_StartGPRS_mms; UiButton m_StartGPRS_CMWAP; UiButton m_StartGPRS_CMNET; UiButton m_StopGPRS; UiButton m_ExitBTN; protected: // 窗口的初始化 virtual BOOL OnInitDialog() { // 必须先调用基类的初始化 if (!CMzWndEx::OnInitDialog()) { return FALSE; } // 初始化按钮控件 m_StartGPRS.SetButtonType(MZC_BUTTON_GREEN); m_StartGPRS.SetID(MZ_IDC_STARTGPRSBTN); m_StartGPRS.SetPos(80, 50, 320, 100); m_StartGPRS.SetText(L"GPRS拨号"); AddUiWin(&m_StartGPRS); m_StartGPRS_mms.SetButtonType(MZC_BUTTON_GREEN); m_StartGPRS_mms.SetID(MZ_IDC_STARTGPRSBTN_MMS); m_StartGPRS_mms.SetPos(80, 150, 320, 100); m_StartGPRS_mms.SetText(L"GPRS中国移动彩信"); AddUiWin(&m_StartGPRS_mms); m_StartGPRS_CMWAP.SetButtonType(MZC_BUTTON_GREEN); m_StartGPRS_CMWAP.SetID(MZ_IDC_STARTGPRSBTN_CMWAP); m_StartGPRS_CMWAP.SetPos(80, 250, 320, 100); m_StartGPRS_CMWAP.SetText(L"GPRS中国移动CMWAP"); AddUiWin(&m_StartGPRS_CMWAP); m_StartGPRS_CMNET.SetButtonType(MZC_BUTTON_GREEN); m_StartGPRS_CMNET.SetID(MZ_IDC_STARTGPRSBTN_CMNET); m_StartGPRS_CMNET.SetPos(80, 350, 320, 100); m_StartGPRS_CMNET.SetText(L"GPRS中国移动CMNET"); AddUiWin(&m_StartGPRS_CMNET); m_StopGPRS.SetButtonType(MZC_BUTTON_GREEN); m_StopGPRS.SetID(MZ_IDC_STOPGPRSBTN); m_StopGPRS.SetPos(80, 450, 320, 100); m_StopGPRS.SetText(L"GPRS断开"); AddUiWin(&m_StopGPRS); m_ExitBTN.SetButtonType(MZC_BUTTON_ORANGE); m_ExitBTN.SetID(MZ_IDC_EXITBTN); m_ExitBTN.SetPos(80, 550, 320, 100); m_ExitBTN.SetText(L"退出"); AddUiWin(&m_ExitBTN); return TRUE; } // 重写命令消息的处理函数 virtual void OnMzCommand(WPARAM wParam, LPARAM lParam) { UINT_PTR id = LOWORD(wParam); switch(id) { case MZ_IDC_STARTGPRSBTN: { if (RESULT_OK == Dial_StartGprsConnect2(m_hWnd, GPRS_FORCE_APP_TYPE)) { MzMessageBoxEx(m_hWnd, L"使用设置默认的接入点,GPRS拨号成功!", L"", MB_OK); } else { MzMessageBoxEx(m_hWnd, L"使用设置默认的接入点,GPRS拨号失败!", L"", MB_OK); } break; } case MZ_IDC_STARTGPRSBTN_MMS: { if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动彩信")) { MzMessageBoxEx(m_hWnd, L"使用中国移动彩信接入点,GPRS拨号成功!", L"", MB_OK); } else { MzMessageBoxEx(m_hWnd, L"使用中国移动彩信接入点,GPRS拨号失败!", L"", MB_OK); } break; } case MZ_IDC_STARTGPRSBTN_CMWAP: { if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动CMWAP")) { MzMessageBoxEx(m_hWnd, L"使用中国移动CMWAP接入点,GPRS拨号成功!", L"", MB_OK); } else { MzMessageBoxEx(m_hWnd, L"使用中国移动CMWAP接入点,GPRS拨号失败!", L"", MB_OK); } break; } case MZ_IDC_STARTGPRSBTN_CMNET: { if (RESULT_OK == Dial_StartGprsConnect2(NULL, GPRS_FORCE_APP_TYPE, L"中国移动CMNET")) { MzMessageBoxEx(m_hWnd, L"使用中国移动CMNET接入点,GPRS拨号成功!", L"", MB_OK); } else { MzMessageBoxEx(m_hWnd, L"使用中国移动CMNET接入点,GPRS拨号失败!", L"", MB_OK); } break; } case MZ_IDC_STOPGPRSBTN: { if (RESULT_OK == Dial_StopGprsConnect2(m_hWnd)) { MzMessageBoxEx(m_hWnd, L"GPRS 已断开!", L"", MB_OK); } break; } case MZ_IDC_EXITBTN: { PostQuitMessage(0); break; } } } }; MZ_IMPLEMENT_DYNAMIC(CSampleMainWnd); // 从 CMzApp 派生的应用程序类 class CSampleMainApp : public CMzApp { public: // 应用程序的主窗口 CSampleMainWnd m_MainWnd; // 应用程序的初始化 virtual BOOL Init() { // 初始化 COM 组件 CoInitializeEx(0, COINIT_MULTITHREADED); // 创建窗口 RECT rcWork = MzGetWorkArea(); m_MainWnd.Create(rcWork.left, rcWork.top, RECT_WIDTH(rcWork), RECT_HEIGHT(rcWork), 0, 0, 0); m_MainWnd.SetBgColor(MzGetThemeColor(TCI_WINDOW_BG)); m_MainWnd.Show(); // 成功则返回 TRUE return TRUE; } }; // 全局的应用程序对象 CSampleMainApp theApp;