基本信息
源码名称:c语言定时关机 示例源码
源码大小:1.33KB
文件格式:.c
开发语言:C/C++
更新时间:2019-03-15
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#include <windows.h> #include <stdio.h> #define SeShutdownPrivilege 0x13 typedef int(__stdcall *PRtlAdjustPrivilege)(ULONG, BOOLEAN, BOOLEAN, PBOOLEAN); BOOL fun; DWORD WINAPI NewThread(LPVOID Lp) { DWORD Sec = (DWORD)Lp; while (TRUE) { system("cls"); printf("距离自动关机还有%d秒\n", Sec--); printf("按回车键取消自动关机\n"); Sleep(1000); if (0==Sec) { if (fun) ExitWindowsEx(EWX_POWEROFF, 0); else ExitWindowsEx(EWX_SHUTDOWN, 0); break; } } return 0; } int main() { DWORD Sec; BOOLEAN enAbled = 0; printf("请设置自动关机延时(秒):"); scanf("%d", &Sec); getchar(); printf("请选择关机方式:1为快速关机,其他数字为安全关机:"); scanf("%d", &fun); getchar(); if (1 == fun) fun = TRUE; else fun = FALSE; PRtlAdjustPrivilege RtlAdjustPrivilege = (PRtlAdjustPrivilege)GetProcAddress(GetModuleHandle("ntdll"), "RtlAdjustPrivilege"); if (RtlAdjustPrivilege) { RtlAdjustPrivilege(SeShutdownPrivilege, TRUE, FALSE, &enAbled); CreateThread(NULL, 0, NewThread, (LPVOID)Sec, 0, NULL); } getchar(); return 0; }