1、保护显像管
由于静止的画面会让显示器的电子束持续轰击屏幕的某一处,这样可能会造成对显示器荧光粉的伤害,所以使用屏幕保护程序会阻止电子束过多地停留在一处,从而延长显示器的使用寿命。
2、保护个人隐私
若是暂时离开手机,为了防范别人偷窥存放在手机上的隐私,当别人想用手机时,会d出密码输入框,密码不对的话,无法进入桌面,从而保护个人隐私。
3、省电
虽然屏幕保护并不是专门为省电而设计的,但一般屏幕保护程序都比较暗,大幅度降低屏幕亮度,有一定的省电作用。
扩展资料
如果在使用手机进行工作的过程中临时有一段时间需要做一些其他的事情,从而中断了对手机的 *** 作,这时就可以启动屏幕保护程序,将屏幕上正在进行的工作状况画面隐藏起来,部分手机的屏幕保护程序有省电的作用,因为有的显示器在屏幕保护作用下屏幕亮度小于工作时的亮度这样有助于省电,更重要的是还可以保护显示器。
在未启动屏保的情况下,当长时间不使用手机的时候显示器的屏幕长时间显示不变的画面,这将会使屏幕发光器件疲劳变色/甚至烧毁/最终使屏幕,某个区域偏色或变暗。
参考资料来源:百度百科-屏幕保护
参考资料来源:百度百科-屏幕保护程序
enum SaverMode{
sm_config,
sm_preview,
sm_full,
sm_test,
sm_passwordchange
}
//命令行过滤函数,命令行获得函数是用API GetCommandLine( )。
SaverMode ParseCommandLine( TCHAR* pstrCommandLine )
{
g_hWndParent = NULL//全局变量(global varibale) 在头函数或主文件开始处定义。
// 跳过长文件名中的路径和空格。
if (*pstrCommandLine == TEXT(’\"’))
{
pstrCommandLine++
while (*pstrCommandLine != TEXT(’\0’) &&*pstrCommandLine != TEXT(’\"’))
pstrCommandLine++
If( *pstrCommandLine == TEXT(’\"’) )
pstrCommandLine++
}
else
{
while (*pstrCommandLine != TEXT(’\0’) &&*pstrCommandLine != TEXT(’ ’))
pstrCommandLine++
if( *pstrCommandLine == TEXT(’ ’) )
pstrCommandLine++
}
// 跳过"/" 或 "-"
while ( *pstrCommandLine != TEXT(’\0’) &&*pstrCommandLine != TEXT(’/’) &&*pstrCommandLine != TEXT(’-’) )
pstrCommandLine++
// 如果没有任何参数,为设置模式。
if ( *pstrCommandLine == TEXT(’\0’) )
return sm_config
// 如果有参数,查看参数内容。
switch ( *(++pstrCommandLine) )
{
case ’c’:
case ’C’:
pstrCommandLine++
while ( *pstrCommandLine &&!isdigit(*pstrCommandLine) )
pstrCommandLine++
if ( isdigit(*pstrCommandLine) )
{
#ifdef _WIN64 //考虑64位编译情况。
CHAR strCommandLine[2048]
DXUtil_ConvertGenericStringToAnsiCb( strCommandLine, pstrCommandLine, sizeof(strCommandLine))
//该函数仅在64位编译情况下使用。
g_hWndParent = (HWND)(_atoi64(strCommandLine))
#else
g_hWndParent = (HWND)LongToHandle(_ttol(pstrCommandLine))//数字串变为/Window句柄
#endif
}
else
{
g_hWndParent = NULL
}
return sm_config
case ’t’:
case ’T’:
return sm_test
case ’p’:
case ’P’:
//预览模式,后面有Window句柄,为十进制数字
pstrCommandLine++
while ( *pstrCommandLine &&!isdigit(*pstrCommandLine) )
pstrCommandLine++
if ( isdigit(*pstrCommandLine) )
{
#ifdef _WIN64
CHAR strCommandLine[2048]
DXUtil_ConvertGenericStringToAnsiCb(strCommandLine, pstrCommandLine, sizeof(strCommandLine))
g_hWndParent = (HWND)(_atoi64(strCommandLine))
#else
g_hWndParent = (HWND)LongToHandle(_ttol(pstrCommandLine))
#endif
}
return sm_preview
case ’a’:
case ’A’:
//密码设置模式,后面有Window句柄,为十进制数字
pstrCommandLine++
while ( *pstrCommandLine &&!isdigit(*pstrCommandLine) )
pstrCommandLine++
if ( isdigit(*pstrCommandLine) )
{
#ifdef _WIN64
CHAR strCommandLine[2048]
DXUtil_ConvertGenericStringToAnsiCb(strCommandLine, pstrCommandLine, sizeof(strCommandLine))
g_hWndParent = (HWND)(_atoi64(strCommandLine))
#else
g_hWndParent = (HWND)LongToHandle(_ttol(pstrCommandLine))
#endif
}
return sm_passwordchange
default:
//其他选项,屏保实际运行模式(通常/s)
return sm_full
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)