用Win32写的定时关机程序

由于本人记性不太好,晚上经常忘记关电脑,白白浪费了很多的电。在网上也找了一些定时关机的软件,想到最近自己也在学习VC++,就想自己写一个定时关机的小程序,正好也可以检验自己所学的东西。

程序源码下载地址:点击下载

先来看看效果图:

写的比较简陋,但是只要能实现功能就好了。

写Win32应用程序首先要有WinMain函数:

int APIENTRY _tWinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPTSTR    lpCmdLine,

int       nCmdShow)

{

UNREFERENCED_PARAMETER(hPrevInstance);

UNREFERENCED_PARAMETER(lpCmdLine);

g_hInstance = hInstance;

DialogBox(hInstance, (LPCTSTR)IDD_MAIN, NULL, DlgProc);

return 0;

}

在WinMain中调用DailogBox()弹出一个对话框,下面就是对消息的处理。

INT_PTR CALLBACK DlgProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)

{

int wmId;

switch(uMsg)

{

case WM_INITDIALOG:

g_hWnd = hWnd;

InitDialog();

break;

case WM_CLOSE:

Shell_NotifyIcon(NIM_DELETE, &g_nidTray);

EndDialog(hWnd, 0);

break;

case WM_TIMER:

ProcessTimer();

break;

case WM_SIZE:

if(wParam == SIZE_MINIMIZED)

{

ShowWindow(g_hWnd, SW_HIDE);

}

break;

case NW_SHELLNOTIFY:

switch(lParam)

{

case WM_LBUTTONDBLCLK:

ShowWindow(g_hWnd, SW_SHOWDEFAULT);

SetForegroundWindow(g_hWnd);

break;

case WM_RBUTTONUP:

{

POINT ptPosition;

GetCursorPos(&ptPosition);

SetForegroundWindow(g_hWnd);

TrackPopupMenu(GetSubMenu(g_hMenu, 0), TPM_LEFTALIGN | TPM_LEFTBUTTON, ptPosition.x, ptPosition.y, 0, g_hWnd, NULL);

}

break;

}

break;

case WM_COMMAND:

wmId = LOWORD(wParam);

switch(wmId)

{

case IDBTN_SHUTDOWN:

DateTime_GetSystemtime(GetDlgItem(g_hWnd, IDDT_TIME), &g_stShutdown);

SetTimer(hWnd, ID_TIMER, 1000, NULL);

ChangeEnable(FALSE);

break;

case IDBTN_CANCEL:

KillTimer(hWnd, ID_TIMER);

UpdateRemainTime(NULL);

ChangeEnable(TRUE);

break;

case IDM_SHOW:

ShowWindow(g_hWnd, SW_SHOWDEFAULT);

SetForegroundWindow(g_hWnd);

break;

case IDM_EXIT:

SendMessage(g_hWnd, WM_CLOSE, 0, 0L);

break;

default:

return DefWindowProc(hWnd, uMsg, wParam, lParam);

}

break;

}

return 0;

}

主体部分就是上面的内容,想要完整的程序源码可以去下载。

程序源码下载地址:点击下载

用Win32写的定时关机程序

时间: 2024-10-09 15:17:00

用Win32写的定时关机程序的相关文章

MFC定时关机程序的实现1

写个定时关机程序自用,界面简单实用,最终界面如下 第一步,新建一个MFC对话框应用程序,拖几个控件过来, 界面如下: 然后给下拉列表框,复选按钮绑定变量,以方便进行操作. CComboBox m_com_hour; CComboBox m_com_minute; CComboBox m_com_second; 第二步,先实现简单关机功能,不通过文件读写进行关键.在选择过时间后,确定关机后按时关机. 1,给下拉列表框添加更改事件,直接右键控件->选择添加事件处理程序,选择CBN_SELCHANGE

C语言 -- 定时关机程序

<strong><span style="font-size:14px;">C语言  --  定时关机程序</span></strong> <strong></strong><span style="font-size:14px;"></span> <strong><span style="font-size:14px;">特别

MFC定时关机程序的实现2-添加启动项到注册表

虽然上一篇实现了的定时关机,但是还不够完善,比如开机自动启动,然后按照配置的时间定时关机,并最小化到任务栏. 先来说开机启动怎么实现,开机启动实现的方法有好几种,比如直接在开始菜单启动项里添加一个程序的快捷方式,路径为 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\ 不过这个路径不同的电脑可能不一样,因为这个路径可以改变,比如说改到D盘 也可以直接写入注册表,这个比较方便,这个开机启动项在注册表中的路径是 HKEY_CU

C# 简单的定时关机

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Windows.Forms; 9 10 namespace AutoCloseComputer 11 { 12 public pa

C++教程:C语言定时关机小程序

今天给大家带俩一个C语言小程序的分享,需要实际应用的作用不大,但是,绝对是对你有帮助的!今后小编都会定期发布一些:一个C语言小程序源码+注释+解答,来丰富大家的知识! #include<stdio.h> #include<string.h> #include<stdlid.h> void main() { char cmd[20]="shutdown -s -t "; char t[5]="0"; int c; system(&q

利用DOS批处理实现定时关机操作

10月1放假回来,寝室晚上10:30就停电了,最无法让人理解的是第二天早上8:00才来电.原来晚上电脑都是不关机的,开着WiFi一直到天亮,可是现在不行了,电脑如果一直开着第二天早上起来电脑肯定没电,于是我就想让它定时关机.之前我一直用猎豹WiFi实现这个功能,不但能开WiFi,还有定时关机的功能.可是自从升级到Windows 10 的最新版后,发现猎豹WiFi已经没多大用了,况且有时候猎豹WiFi对校园网的支持还时好时坏,还是系统自带的这个比较好.于是我就把猎豹WiFi卸载了,又不想重新装回去

C# 定时关机 倒计时

有段时间要用定时关机,想到了一些软件,还要安装太麻烦了. 准备自己写一个,搜了下代码不清不楚,于是总结资料,做了个关机 ------------------------------------------------------------------------------------- 发到首页要满150字,就多写点废话唠唠嗑吧. 本人2011年在培训学校学过1年半编程,学费3万多,从C,Html,Js,Jquery,Java,SQL,Oracel,Mysql,C#,Asp.net 全部讲过

定时关机

    每天晚上总是想着多看一点文章,多写一点程序,往往过了11:30还不愿意松手,对自己的每天晚上12:00之前睡觉的要求总不能完成,每次没做到,自己都会给自己找借口,寻求心理安慰,这样,对于养成好习惯是个极大的障碍.     为了解决自己不能在每晚11:30之前上床休息,12:00睡着的问题,我给出了定时关机的解决方案,下面来给出具体实施.     1. 使用windows命令行来实现         在cmd命令行中输入 at 23:00 shutdown –s 命令,规定电脑到了晚上11

CMD接受输入参数(定时关机小例子)

为了方便操作,我大程序员经常会将一些重复的工作写成一个批处理. 但是,在批处理中如何接受输入参数呢?且看如下例子: @echo off set /p time=请输入关机时间: shutdown -s -f -t %time% 这是一个定时关机的批处理,其中接受一个时间参数,用户可以输入在多久之后关机. 下面逐行来看: @echo off ,DOS会依次执行文件中的命令,并将执行的命令自动输出在DOS中,如果我们不想将执行的命令显示出来,就可以使用echo off来关闭自动输出. 但是,echo