请问如何实现暂时使wince屏幕黑屏但是程序却一直运行?
想在自己的程序里面实现屏幕黑屏,但是鼠标点击的功能依然存在,程序也继续运行,黑屏一段时间后重新恢复。
请问有什么函数可以实现吗?
[解决办法]
楼上的方法果然高明,但是小聪明终究不能用到实际项目中,不然会被同行笑的,其实楼主的意思应该是关闭显示器吧,相当于动态控制屏幕保护功能,有两种方法,一种是在wince内核里做,就是做个屏幕保护程序,但是恐怕要相应的显示驱动支持,这需要问你的BSP厂家到底实现了这个功能没有,因为很多板子是没有这个功能的,还有个方法,使用BIOS中的关闭显示器功能,可以使用下面的代码,具体自己去编译:
#define IOCTL_HAL_SCREENOFF CTL_CODE(FILE_DEVICE_HAL, 0x1102, METHOD_BUFFERED, FILE_ANY_ACCESS)
#define IOCTL_HAL_SCREENON CTL_CODE(FILE_DEVICE_HAL, 0x1103, METHOD_BUFFERED, FILE_ANY_ACCESS)
void CloseCreen(m_sleep)
{
if(m_sleep == 1)
{
m_sleep = 0;
KernelIoControl(m_sleep ? IOCTL_HAL_SCREENON : IOCTL_HAL_SCREENOFF, NULL, 0, NULL, 0, NULL);
}
else
{
m_sleep = 1;
Sleep(300);
KernelIoControl(m_sleep ? IOCTL_HAL_SCREENON : IOCTL_HAL_SCREENOFF, NULL, 0, NULL, 0, NULL);
}
}
[解决办法]
严重同意 2 楼。。。。。。
查看注册表中是否有背光控制的部分。 使用标准的电源管理函数,给背光驱动发送关闭背光的命令 也就是设置他的电源状态。。。
SetPowerState 等,查看Help吧
[解决办法]