WinCE7系統事件通知

來源:互聯網
上載者:User

 

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

Proxy 伺服器更改

WinCE7系統事件通知    by斜風細雨QQ:253786989    2012-01-03

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.