WinCE7系统事件通知
来源:互联网 发布:paxos算法推导 编辑:程序博客网 时间:2024/04/28 12:38
WinCE7系统事件通知 by斜风细雨QQ:253786989 2012-01-03
WinCE7操作系统支持多个不同的系统事件,如:“NOTIFICATION_EVENT_SYNC_END”,代表PC与WinCE系统数据同步完成。如果想在WinCE7系统支持的这若干个系统事件之一发生时自动启动某个应用程序,这就是“WinCE7系统事件通知”的用处。
范例代码:
TCHAR szArgs[] = TEXT("Event notification!");CE_NOTIFICATION_TRIGGER nt;HANDLE hNotify;TCHAR szText[128] = {0};memset (&nt, 0, sizeof (CE_NOTIFICATION_TRIGGER));nt.dwSize = sizeof (CE_NOTIFICATION_TRIGGER);nt.dwType = CNT_EVENT;nt.dwEvent = NOTIFICATION_EVENT_SYNC_END | NOTIFICATION_EVENT_DEVICE_CHANGE;nt.lpszApplication = TEXT("NotificationApp.exe");nt.lpszArguments = szArgs; // 设置系统事件通知hNotify = CeSetUserNotificationEx (0, &nt, NULL);if (hNotify) { wsprintf (szText, TEXT ("Event notification set for %08x"), nt.dwEvent);}else{ wsprintf (szText, TEXT("Set Event notification failed rc: %d"), GetLastError());}MessageBox (szText, TEXT("设置系统事件通知"), MB_OK | MB_ICONINFORMATION);
设置系统事件通知,同样使用CeSetUserNotificationEx函数。关于CeSetUserNotificationEx函数的使用参考“WinCE7用户通知”。上面的范例代码,在WinCE7系统发生“PC与WinCE系统数据同步完成”和“发生设备加载或者卸载”两个事件之一时,自动运行“NotificationApp.exe”。
在“NotificationApp.exe”执行起来之后,有可能需要判断一下该app被系统执行的原因。到底是WinCE7系统发生了事件“NOTIFICATION_EVENT_SYNC_END”还是“NOTIFICATION_EVENT_DEVICE_CHANGE”。这可以通过获取命令行参数来进行判断,拿上面的范例代码来说,假如设备的COM1新加载了一个串口设备,则命令行字符串可能如下:“Event notification! /ADD COM1:”。这是在参考书上看到的,具体每个事件的命令行参数是什么,我在MSDN帮助文档中没有找到。要用的话,可能还要具体的测试一下或者查一些资料才能得知。
WinCE7系统可能支持的事件如下,具体还要看WinCE7的帮助文档:
NOTIFICATION_EVENT_SYNC_END
系统同步完成
NOTIFICATION_EVENT_DEVICE_CHANGE
设备加载或者卸载
NOTIFICATION_EVENT_RS232_DETECTED
RS232串口连接
NOTIFICATION_EVENT_TIME_CHANGE
系统时间更改
NOTIFICATION_EVENT_TZ_CHANGE
系统时区更改
NOTIFICATION_EVENT_RESTORE_END
一个完整的设备数据恢复完成
NOTIFICATION_EVENT_WAKEUP
设备唤醒
NOTIFICATION_EVENT_MACHINE_NAME_CHANGE
设备名称更改
NOTIFICATION_EVENT_RNDIS_FN_DETECTED
RNDIS连接
NOTIFICATION_EVENT_INTERNET_PROXY_CHANGE
代理服务器更改
WinCE7系统事件通知 by斜风细雨QQ:253786989 2012-01-03
- WinCE7系统事件通知
- WinCE7用户通知
- WinCE7定时器通知
- WINCE7系统中文显示
- 系统事件通知 定时器事件通知 用户通知(转)
- 将应用程序打包进wince7系统
- 获取系统环境变化的事件通知
- 事件通知
- WINCE7.0 获取CPU,MEMORY等硬件和系统信息
- 建立VS2008到运行wince7系统的远程调试
- 系统通知
- 系统通知
- 空间焦点事件通知
- 内核事件通知(转载)
- WinLogon事件通知包
- OpenNMS扩展 - 事件通知
- 添加本地通知事件
- Winlogon事件通知包
- Java Remoting远程服务(上)
- 2011 Multi-University Training Contest 1 - Host by HNU&&Earth Hour
- Anvi Smart Defender-集合系统清理优化和木马查杀功能
- Jmeter
- Android 面试题
- WinCE7系统事件通知
- Win7下自解压Emeditor 10
- Tomcat处理HTTP请求源码分析(上)
- Tomcat处理HTTP请求源码分析(下)
- result_of学习
- cancan 笔记
- projection matrix
- android第二十天——手势识别
- 使用 Android NDK Stand-alone 交叉编译工具