M8 桌面通知系统开发说明
使用魅族开发的M8 桌面通知系统,可以更自由灵活的向系统发出通知,以取代WinCE自带的Notification机制。
当M8收到这些通知消息的时候,会以弹出提示框、震动、响铃等方式通知使用者。
第三方开发的网络聊天、日程管理等应用软件,均可以调用此通知系统来通知使用者。
设置 MZ_USER_NOTIFICATION::ActionFlags 指定消息的动作类型,使M8收到这些通知消息的时候以弹出提示框、震动、响铃等方式或组合通知使用者
除此之外,通知消息的结构 MZ_USER_NOTIFICATION 还可设置任务栏图标、回调程序等消息内容typedef struct { DWORD ActionFlags; // 动作类型,下面定义的值或其组合构成 #define MUN_LED 0x00000001 // LED 灯闪烁 #define MUN_SOUND 0x00000002 // 播放声音 #define MUN_VIBRATE 0x00000004 // 震动 #define MUN_IMAGE_S 0x00000008 // 任务栏上的图 #define MUN_IMAGE_L 0x00000010 // 任务列表上的图 #define MUN_DIALOG 0x00000020 // 显示对话框 #define MUN_URGENT 0x10000000 // 紧急事件(优先处理) WCHAR szAppPath[MAX_PATH]; // 执行文件路径名 WCHAR szAppDefArgs[MAX_PATH]; // 执行文件参数,用户点默认按钮后/或任务列表的默认按键,以此命令行方式回调程序 WCHAR szAppArgs[MAX_PATH]; // 执行文件参数,用户点击按键后,以此命令行方式回调程序 WCHAR szTiTle[64]; // 标题 WCHAR szTip[512]; // 提示/对话框的内容 WCHAR szDefaultBtnName[64]; // 对话框的默认标题 WCHAR szBtnName[64]; // 任务列表或对话框的按钮标题 WCHAR szImageSmall[MAX_PATH]; // 任务栏上的图的路径 WCHAR szImageLarger[MAX_PATH]; // 任务列表上的图的路径 WCHAR szSound[MAX_PATH]; // 声音文件路径, MUN_SOUND标志有效 DWORD dwPlaySoundPeriod; // 声音播放的时间周期以秒为单位,0表示播放完这首音乐,其他数字表示播放的时间 DWORD dwVibratePeriod; // 震动次数,MUN_VIBRATE标志有效,0表示随音乐的长度震动。 BOOL bIsIconBlink; // 任务栏小图标是否闪烁 BOOL bIsDefaultButtonCallBack; // 用于对话框的默认按钮,点击默认按钮是否回调程序 } MZ_USER_NOTIFICATION, *PMZ_USER_NOTIFICATION;
// @brief 通知消息,可出现在任务列表上的消息 // @param [IN]hNotification,为0表示新建一个通知消息,否则为更新这个通知消息。 // @param [IN]pMun ,通知消息的内容 // @return 返回通知句柄,NULL失败 // @see MZ_USER_NOTIFICATION HANDLE MzSetUserNotification(HANDLE hNotification, PMZ_USER_NOTIFICATION pMun);
// @brief 清除通知消息 // @param [IN]hNotification,这个通知消息句柄。 // @return TRUE成功,FALSE失败 BOOL MzClearUserNotification(HANDLE hNotification);
链接引用库文件
platformapi.lib mzfc.lib
引用头文件#include <ShellNotifyMsg.h>
桌面通知系统开发示例
示例代码的具体路径为:
[Drive]:\Program Files\Windows CE Tools\wce600\M8SDK\Samples\Mzfc\UserNotificationTest