我已经在这件事情上呆了几天而且我看不到CeRunAppAtTime在工作。我只是想问一下是否有人让他上班?
有人可以发布一个有效的代码示例吗?
答案 0 :(得分:2)
如果您要查看定义了CeRunAppAtTime的notify.h,您可能会注意到它已过时且不受支持:
//
//Obsolete; provided to maintain compatibility only
//
HANDLE CeSetUserNotification (HANDLE hNotification,
TCHAR *pwszAppName,
SYSTEMTIME *lpTime,
PCE_USER_NOTIFICATION
lpUserNotification);
BOOL CeRunAppAtTime (TCHAR *pwszAppName, SYSTEMTIME *lpTime);
BOOL CeRunAppAtEvent(TCHAR *pwszAppName, LONG lWhichEvent);
BOOL CeHandleAppNotifications (TCHAR *pwszAppName);
它可能会起作用,即使大部分时间也是如此,但你自己也在那里。
建议改用CeSetUserNotificationEx。
答案 1 :(得分:1)
CeRunAppAtTime确实有效,但不幸的是它似乎与平台有关。在某些设备上,它非常不可靠。您可以使用CeSetUserNotificationEx来完成同样的事情。我发现它在更新的设备上更可靠,但在某些设备上它也不能很好地工作。我不知道这个特殊任务有多难,但许多原始设备制造商似乎无法做到这一点。
答案 2 :(得分:0)
在您的应用启动后,设备似乎必须设置为完全开机状态,否则它会恢复“休眠”状态。您可以通过调用SetSystemPowerState来完成此操作,详细内容为here