是否可以订阅Windows进入或退出睡眠或休眠状态时触发的Windows事件?
我需要让我的应用程序在计算机进入睡眠状态时进行清理并避免在睡眠时出现计时问题.
我有一个在Windows 8(和8.1)上运行的C++开发的服务.如何才能知道系统已进入Connected Standby?
由于这是一个服务,它没有窗口,我应该使用PowerRegisterSuspendResumeNotification,但它似乎没有工作.有谁知道我怎么得到这样的通知?
是否有任何C函数来检查计算机是否会sleep,hibernate或locked从这些状态唤醒?
在msdn,他们提供C#,C++但不是C.我的操作系统是windows7
下面是我用来检查启动程序和终止程序之间的持续时间的代码(关闭系统将终止程序,这样就可以测量持续时间).
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include<time.h>
clock_t start_time=0;
void bye (void)
{
FILE *read,*write;
write=fopen("F:\\count.txt","w");
clock_t end_time=clock();
fprintf(write,"Time: %d",(end_time-start_time)/CLOCKS_PER_SEC);
fclose(write);
}
int main (void)
{
start_time=clock();
atexit (bye);
//exit (EXIT_SUCCESS);
getch();
}
Run Code Online (Sandbox Code Playgroud)
以同样的方式我想检查锁定/睡眠/休眠.
如@ddriver所述,在c中包装c ++代码(在链接中提供)的一种可能方法
但是在C中根本不可能吗?