一个简单的保护视力的软件
来源:互联网 发布:互联网行业数据分析 编辑:程序博客网 时间:2024/04/30 13:34
身体是革命的本钱,眼睛是程序员的本钱
保护视力最好的办法是远离显示器,对于需要长期工作在显示器前的人来说,只要保持适当的距离,不要常时间盯着屏幕,工作一段时间后看看远方,就能很大程度的保护好自己的眼睛!
如果使自己离开屏幕呢?做一个定时提醒的小工具就行了!但是,提醒是一回事,能不能主动执行又是一回事,怎么强制执行呢?最好的办法是创建另外一个桌面,并将这个桌面切换到前面,让自己无法处理任何操作,只好去看看远方了;等过一段时间后,销毁桌面,再将计算机操作权交还给用户。
以下是就源代码,很简单,就不说明了
VOID CALLBACK TimerAPCProc(LPVOID lpArgToCompletionRoutine,
DWORD dwTimerLowValue,
DWORD dwTimerHighValue)
{
static HDESK hDesk = NULL;
if (hDesk)
{
return;
}
SYSTEMTIME st;
GetSystemTime(&st);
if (st.wMinute == 0 && st.wSecond == 0)
{
hDesk = CreateDesktop("Protect Eye",
NULL,
NULL,
0,
GENERIC_ALL,
NULL);
if (NULL == hDesk)
{
DWORD dwErr = GetLastError();
return;
}
SwitchDesktop(hDesk);
HANDLE hTimer = CreateWaitableTimer(NULL, TRUE, NULL);
LARGE_INTEGER liDueTime;
liDueTime.QuadPart = -300000000;
SetWaitableTimer(hTimer, &liDueTime, 0, NULL, NULL, 0);
WaitForSingleObject(hTimer, INFINITE);
CloseHandle(hTimer);
CloseDesktop(hDesk);
hDesk = NULL;
}
}
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
HANDLE hTimer = CreateWaitableTimer(NULL, FALSE, NULL);
if (! hTimer)
{
return 0;
}
LARGE_INTEGER liUTC = {0};
BOOL bSuccess = SetWaitableTimer(hTimer, &liUTC, 800, TimerAPCProc, NULL, FALSE);
if (bSuccess)
{
while(1)
{
SleepEx(INFINITE, TRUE);
}
}
CloseHandle(hTimer);
return 1;
}
- 一个简单的保护视力的软件
- 保护你的视力
- 保护你的视力
- 保护你的视力
- 保护视力的重要性
- 保护视力的桌面颜色
- 推荐大家一个保护视力的Visual Studio皮肤
- 电脑族的视力保护常识
- 电脑族保护视力的窍门
- 如何调整液晶显示器保护你的视力
- 保护视力的小工具 更新
- 设置背景颜色保护你的视力
- 设置保护视力的背景色
- 保护视力方面的电脑设定
- Windows 8设置保护视力的颜色
- Win8修改保护视力的窗口颜色
- 【小编教你有效的保护视力】
- 选择什么样的电视有利于保护视力
- [转文]对于补丁的态度
- asp常用函数(一)
- Using DropDownList control in DataGrid
- C#程序编码规范
- asp常用函数2
- 一个简单的保护视力的软件
- asp常用函数(三)
- English 900 英语九百句
- 郁闷的VC7 IDE
- 邓小平诞辰100周年
- 应用程序互操作性:Microsoft .NET 和 J2EE
- 成熟男人与24岁女孩精彩对白 —非常感动
- 为什么strcpy的返回值是char* ?
- Eclipse3.0+lomboz3.01+tomcat5.027安装调式问题小结-zz