Windows Mobile 在休眠状态下,如何获取时间及唤醒系统?
本人想做一个闹钟程序,但不知如何下手。请高手赐教。
有几个问题请高手能详细的讲解一下:
1、Windows Mobile 在休眠状态时,所有的程序都是挂起的吗?此时自己编写的软件还能正常运行吗?
2、在休眠状态下,WM提供获取时间的API或者其他什么接口吗?如何使用?
3、如何唤醒已经休眠的WM系统?
看到网上有许多高人写的闹钟程序,觉得这种程序应该是能实现的。但始终没有搜索到答案,还望高手不吝赐教。
[解决办法]
之前讨论过了的,在论坛找一下吧。
例如CeRunAppAtTime 之类的
[解决办法]
我也关注!
[解决办法]
HANDLE g_hTimeRun = NULL;
设定15秒后唤醒系统并运行exe
SYSTEMTIME RunSt;
FILETIME RunFt;
GetLocalTime(&RunSt);
SystemTimeToFileTime(&RunSt, &RunFt);
NKDbgPrintfW(_T("current time: %d-%d-%d %d:%d:%d =====================\r\n"),
RunSt.wYear,
RunSt.wMonth,
RunSt.wDay,
RunSt.wHour,
RunSt.wMinute,
RunSt.wSecond);
DWORD64 dwTime = (DWORD64(RunFt.dwHighDateTime) << 32) + DWORD64(RunFt.dwLowDateTime);
dwTime += 15 * 10000000;
RunFt.dwHighDateTime = DWORD(dwTime >> 32);
RunFt.dwLowDateTime = DWORD((dwTime << 32) >> 32);
FileTimeToSystemTime(&RunFt, &RunSt);
NKDbgPrintfW(_T("wake up time: %d-%d-%d %d:%d:%d =====================\r\n"),
RunSt.wYear,
RunSt.wMonth,
RunSt.wDay,
RunSt.wHour,
RunSt.wMinute,
RunSt.wSecond);
if(g_hTimeRun != NULL)
{
CeClearUserNotification(g_hTimeRun);
g_hTimeRun = NULL;
}
CE_NOTIFICATION_TRIGGER UNTrigger;
UNTrigger.dwSize = sizeof(UNTrigger);
UNTrigger.dwEvent = 0;
UNTrigger.dwType = CNT_TIME;
UNTrigger.lpszApplication = _T("\\Windows\\fexplore.exe");
UNTrigger.lpszArguments = NULL;
memcpy(&(UNTrigger.stStartTime), &RunSt, sizeof(RunSt));
memcpy(&(UNTrigger.stEndTime), &RunSt, sizeof(RunSt));
g_hTimeRun = CeSetUserNotificationEx(NULL, &UNTrigger, NULL);
释放
if(g_hTimeRun != NULL)
{
CeClearUserNotification(g_hTimeRun);
g_hTimeRun = NULL;
}
[解决办法]
参考一下:
http://topic.csdn.net/u/20091202/11/a5adb385-4455-4b76-8360-86c43e27ff2d.html
[解决办法]
论坛里有好多这方面的资料,自己找下,就OK
[解决办法]
不成,这方面还只有C++的本地代码可以提供。
[解决办法]
不懂,up