win7 系统函数获取系统息屏状态
时间: 2023-11-18 17:10:24 浏览: 36
可以使用以下系统函数获取 Windows 7 系统的屏幕保护程序状态:
```c
BOOL WINAPI SystemParametersInfo(
UINT uiAction,
UINT uiParam,
PVOID pvParam,
UINT fWinIni
);
```
其中,`uiAction` 参数应设置为 `SPI_GETSCREENSAVERRUNNING`,`pvParam` 参数应为指向 `BOOL` 类型变量的指针。调用该函数后,如果返回值为真,则表示屏幕保护程序正在运行,即屏幕处于锁定或休眠状态;如果返回值为假,则表示屏幕保护程序未运行,即屏幕处于活跃状态。
示例代码:
```c
BOOL bRunning;
if (SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, &bRunning, 0))
{
if (bRunning)
printf("屏幕保护程序正在运行\n");
else
printf("屏幕保护程序未运行\n");
}
else
{
printf("获取屏幕保护程序状态失败\n");
}
```
相关问题
win7 息屏检测代码
以下是 Win7 下使用 C++ 编写的检测屏幕是否息屏的代码:
```cpp
#include <Windows.h>
int main()
{
while (true)
{
// 获取系统空闲时间
LASTINPUTINFO lastInputInfo = { 0 };
lastInputInfo.cbSize = sizeof(LASTINPUTINFO);
GetLastInputInfo(&lastInputInfo);
DWORD idleTime = GetTickCount() - lastInputInfo.dwTime;
// 判断屏幕是否息屏
BOOL screenSaver = (BOOL)SystemParametersInfo(SPI_GETSCREENSAVERRUNNING, 0, NULL, 0);
BOOL monitorPower = (BOOL)SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, -1);
if (idleTime >= 300000 && screenSaver == FALSE && monitorPower == FALSE)
{
// 屏幕已经息屏
// do something...
}
Sleep(1000);
}
return 0;
}
```
代码中使用了 `GetLastInputInfo` 函数获取系统空闲时间,再结合 `SystemParametersInfo` 函数和 `SendMessage` 函数判断屏幕是否处于息屏状态。如果屏幕已经息屏,可以在相应的位置添加自己的处理逻辑。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![txt](https://img-home.csdnimg.cn/images/20210720083642.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)