app全屏,修改時間想調用wince內建的修改時間的介面,不想自己再寫一個對話方塊,所以直接調用控制台的修改日期時間的對話方塊最省事。
參考網上方法後,程式如下:
SHELLEXECUTEINFO ShExeInfo={0};ShExeInfo.cbSize=sizeof(SHELLEXECUTEINFO);ShExeInfo.fMask=SEE_MASK_NOCLOSEPROCESS;ShExeInfo.hwnd=NULL;ShExeInfo.lpVerb=NULL;ShExeInfo.lpFile=L"ctlpnl.exe";ShExeInfo.lpParameters=L"\\Windows\\cplmain.cpl,13";ShExeInfo.lpDirectory=NULL;ShExeInfo.nShow=SW_SHOW;ShExeInfo.hInstApp=NULL;ShellExecuteEx(&ShExeInfo);
修改時間後,要更新顯示,由於啟動的控制台是一個非強制回應對話方塊,不能在ShellExecuteEx後執行重繪視窗,所以可以用系統時間更改時間來通知重繪,但是,經查,wince不支援WM_TIMECHANGE,
http://www.aspnet-answers.com/microsoft/WindowsCE-Embedded-VC/35392798/wmtimechange-in-windows-ce.aspx
所以只能啟動一個定時器來重新整理時間,同時也可以將秒重新整理,以前本來不想顯示秒的~~~
網上資料:http://dev.10086.cn/cmdn/wiki/index.php?doc-view-2928.html
3.如何調用.cpl
就像PC機中.dll檔案不能直接運行,需要藉助rundll32.exe來運行一樣,WinCE下的.cpl也需要相應的程式來調用,這個程式就是:"ctlpnl.exe".
比如我們需要調用系統內建的cplmain.cpl的"電源管理",只要在開始菜單的運行中輸入:"ctlpnl.exe \windows\cplmain.cpl,5".在路徑後面緊跟的"5"只是因為"電源管理"在cplmain.cpl中輸入第五個Applet而已.
http://social.msdn.microsoft.com/Forums/en-US/winembnatapp/thread/dee13312-16aa-42d1-b9df-174a2ea1ee7f