我有一个坏习惯,就是平时用完电脑时不关机,电脑的电就会一直耗,所以我用c++写了一个自动关机插件,大家一起看看吧
首先,认识几个函数。我在上一篇文章已经写过了,我就复制一下,偷个懒吧(勿喷)。
GetCursorPos():鼠标位置检测函数。用法:
POINT p;
int x,y;//定义变量
while(1){
GetCursorPos(&p);//将鼠标所在位置存在p中
//x=鼠标x轴
//y=鼠标y轴
}
KEY_DOWN():检测鼠标按键,按下返回true,为按下返回false
KEY_DOWN(VK_LBUTTON) | 检测鼠标左键 |
KEY_DOWN(MOUSE_EVENT) | 检测鼠标右键 |
KEY_DOWN(MOUSE_WHEELED) | 检测鼠标滚轮键(非滚轮) |
所以,代码如下:
#include<bits/stdc++.h>
#include<windows.h>
#define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME) & 0x8000) ? 1:0)
using namespace std;
POINT p;
int x,y;
int main(){
ShowWindow(GetForegroundWindow(),0);//隐藏窗口
int time=0;
while(1){
GetCursorPos(&p);
if(p.x!=x||p.y!=y||KEY_DOWN(VK_LBUTTON)||KEY_DOWN(MOUSE_EVENT)||KEY_DOWN(MOUSE_WHEELED)){
time=0;//如果鼠标有动作时间设为0
x=p.x;//更新xy坐标值
y=p.y;
}
if(time>=1800){
system("shutdown -s -t 30");//定30秒后关机
int v;
v=MessageBox(NULL,"您已半小时没有做任何鼠标操作,为节约电量即将在30秒后关机","节电小助手",MB_ICONEXCLAMATION|MB_YESNO);//弹出提示框
if(v==7){//如果按下否
system("shutdown -a");//取消关机
}
}
Sleep(100);
time+=0.1;
}
return 0;
}
做好后,我们可以将它放到开机自启文件夹里,打开方式:按下win+R,输入shell:Common Startup,将exe文件拖拽至当中即可实现开机自启。
本篇文章就到这里(又是一篇水文),谢谢大家。