一个简单的保护视力的软件
身体是革命的本钱,眼睛是程序员的本钱
保护视力最好的办法是远离显示器,对于需要长期工作在显示器前的人来说,只要保持适当的距离,不要常时间盯着屏幕,工作一段时间后看看远方,就能很大程度的保护好自己的眼睛!
如果使自己离开屏幕呢?做一个定时提醒的小工具就行了!但是,提醒是一回事,能不能主动执行又是一回事,怎么强制执行呢?最好的办法是创建另外一个桌面,并将这个桌面切换到前面,让自己无法处理任何操作,只好去看看远方了;等过一段时间后,销毁桌面,再将计算机操作权交还给用户。
以下是就源代码,很简单,就不说明了
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;
}
一个简单的保护视力的软件相关推荐
- 保护视力的软件:定时提醒你休息的桌面工具EyeLeo
文章目录 保护视力的软件:定时提醒你休息的桌面工具EyeLeo 什么是EyeLeo 为什么要使用? 它为什么如此重要? EyeLeo特征 使用说明 保护视力的软件:定时提醒你休息的桌面工具EyeLeo ...
- 记一个简单的保护if 的sh脚本
记一个简单的保护if 的sh脚本 真是坑爹,就下面的sh,竟然也写了很久! if [ `pwd` != '/usr/xx/bin/tomcat' ] thenecho "rstall is ...
- 一个简单的学生成绩管理软件(ODBC开发)
一个简单的学生成绩管理软件(ODBC开发) 下载本文所附源代码 程序运行效果截图: 前面我写过一篇<一个完善的ODBC数据库程序>,大家可能看到过,有鼓励,也有批评,但是所有这一切只有一个 ...
- python爬虫抢火车票_如何用python写一个简单的12306抢票软件|python 爬火车票 教程...
python 如果抓取验证码图片 类似12306的登录验证码图片 这个以前做次.最大的麻烦是码的识别算法的识别率太低.12306那种网站登陆错3次就限制你20分钟.所以除非你有33%以上的识别率否则不 ...
- 开发一个简单的小学生数学测试软件
前言 本文适用于未学指针的朋友 本人就是没学到指针的 题目 开发一个简单的小学生数学测试软件,能实现以下功能: (1)保存五个学生的学号及姓名,以及考试软件的登录密码. (2)学生根据登录密码登录到考 ...
- 一个简单的网络应用——面部拍照软件
这是在ETI的第3个工作--给一个政府卫生署的公众殓房做一个给尸体面部拍照的软件,用于家属辨认. 需求:对尸体的面部拍照,并保存在指定的位置. 分析:设计一个直观简捷的操作页面,分为:摄像头显示画面, ...
- 一个简单的生产排程软件
工作之余写的一个小软件.缺点就是计算速度慢了一点. http://blog.139life.com/uploadfile/2006511151542718.rar
- 【Linux 中国】12 款简单好用的保护隐私的软件
12 款简单好用的保护隐私的软件 数据是最宝贵的一项资产. 无论影响好坏,数据收集技术都会一直存在.现实生活中,人们进行分析.研究以及学习,都需要各种各样的数据. 当然,数据收集也会带来风险,比如不法 ...
- 通过Dapr实现一个简单的基于.net的微服务电商系统(十八)——服务保护之多级缓存...
很久没有更新dapr系列了.今天带来的是一个小的组件集成,通过多级缓存框架来实现对服务的缓存保护,依旧是一个简易的演示以及对其设计原理思路的讲解,欢迎大家转发留言和star 目录: 一.通过Dapr实 ...
最新文章
- 博客作业05--查找
- import的几种用法
- Golang之gjson
- 物联网带着诚意扑面而来
- iOS Hacker Keychain相关The executable was signed with invalid entitlements
- 移动硬盘无法停止,竟然是TM的原因
- C# 中的常用正则表达式汇总
- ccfb类会议有哪些_CCF推荐的国际学术会议和期刊目录修订版发布
- java列名无效_Java:列名无效
- python梯形公式面积_梯形面积公式
- java中md5加密_JAVA中使用MD5加密实现密码加密
- 【精】Verilog语言缩写规范
- / 和 /* 和 /** 的区别
- 微信小程序,分享如何封装一个全局支持暂停,拖动等各类操作的音视频等多媒体管理器
- React.createRef()的使用
- python install tensorflow 国内源-清华源安装
- 最好的补丁是严密的安防体系
- 交换机Meth0是什么端口,啥作用?
- 旋转导电滑环的作用和优缺点
- 杰理之VCOM按键复位【篇】