C语言自动待机程序,关机 、待机和休眠编程
程序中主要使用了InitiateSystemShutdown()这个函数。
ffffff>
CString CPage1::ShowError()
{
LPVOID lpMsgBuf;
::FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
::GetLastError(),
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL
);
CString strMsg((LPCTSTR)lpMsgBuf);
::LocalFree( lpMsgBuf );
return strMsg;
}
关机:
void CPage1::OnShutdown()
{
GetDlgItem(IDC_STATE)->SetWindowText(“正在试图关闭计算机,请稍候…”);
static HANDLE hToken;
static TOKEN_PRIVILEGES tp;
static LUID luid;
if(::OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,
&hToken))
{
::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
tp.PrivilegeCount=1;
tp.Privileges[0].Luid =luid;
tp.Privileges[0].Attributes =SE_PRIVILEGE_ENABLED;
::AdjustTokenPrivileges(hToken,false,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
}
UpdateData(true);
CString str;
str.Format(“\\\\%s”,m_strName);
if(!::InitiateSystemShutdown(
(LPTSTR)(LPCTSTR)str,
“\n不好意思,我要关机了!”,
m_nTime,
m_bAlert==0?true:false,
m_nType==0?false:true
))
{
GetDlgItem(IDC_STATE)->SetWindowText(this->ShowError());
}
else
GetDlgItem(IDC_STATE)->SetWindowText(“关机成功”);
}
取消关机:
void CPage1::OnAbort()
{
GetDlgItem(IDC_STATE)->SetWindowText(“正在试图取消关机操作,请稍候…”);
UpdateData(true);
CString str;
str.Format(“\\\\%s”,m_strName);
if(!::AbortSystemShutdown((LPTSTR)(LPCTSTR)str))
{
GetDlgItem(IDC_STATE)->SetWindowText(this->ShowError());
}
else
GetDlgItem(IDC_STATE)->SetWindowText(“取消成功”);
}
休眠:
void CPage1::OnXiu()
{
if(MessageBox(“确实要休眠吗?”,”关机程序”,MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)==IDYES)
{
static HANDLE hToken;
static TOKEN_PRIVILEGES tp;
static LUID luid;
if(::OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,
&hToken))
{
::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
tp.PrivilegeCount=1;
tp.Privileges[0].Luid =luid;
tp.Privileges[0].Attributes =SE_PRIVILEGE_ENABLED;
::AdjustTokenPrivileges(hToken,false,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
}
::SetSystemPowerState(false,true);
}
}
C语言自动待机程序,关机 、待机和休眠编程相关推荐
- 宏程序是c语言吗,宏程序是什么?如何编程和应用?
原标题:宏程序是什么?如何编程和应用? 1. 什么场合会用到宏程序编程? 其实说起来宏就是用公式来加工零件,比如说椭圆,如果没有宏的话,我们要逐点算出曲线上的点,然后慢慢来用直线逼近,如果是个光洁度要 ...
- c语言自动取款机程序,c语言写的取款机的模拟程序
#include #include #define TYPE_NUM 7 int Moneyvalue [TYPE_NUM]={100,50,20,10,5,2,1}; // ...
- 实现tinyc语言的扫描程序_适合编程小白的C语言设计习题,实现自动发牌程序!源码分享!...
C语言自动发牌程序,供大家参考,具体内容如下: 一副扑克有52张牌,打桥牌时应将牌分给4个人.请设计一个程序完成自动发牌的工作.要求:黑桃用S (Spaces)表示,红桃用H (Hearts)表示,方 ...
- c语言编写数据存储的游戏,c语言经典小程序和c语言编写的小游戏带注释(自动保存的).doc...
c语言经典小程序和c语言编写的小游戏带注释(自动保存的) 1.写一个定时?关机的小程?序,可以立即关?闭计算机,也可以一段?时间后关闭?计算机. #inclu?de #inclu?de #inclu? ...
- Linux 休眠,挂起(待机),关机等几个命令的区别及如何实现;如何启用Ubuntu的休眠模式...
这里对linux 的几个命令整理下,有:休眠,挂起,待机,关机等几个命令的区别及如何实现. 休眠是一种更加省电的模式,它将内存中的数据保存于硬盘中,所有设备都停止工作.当再次使用时需按开关机键,机器将 ...
- 【转】 asp.net从视频文件中抓取一桢并生成图像文件的方法 实现多语言本地化应用程序 自动返回上次请求页面...
asp.net从视频文件中抓取一桢并生成图像文件的方法 http://www.bianceng.cn/webkf/aspx/201012/21428.htm WebUIValidation.js ht ...
- 设置计算机关机静音,Shortcuts 捷径控制 Windows 电脑:静音开关、音量调节、待机、关机...
在 iPhone 上通过 Shortcuts 捷径控制 Windows 电脑:静音开关.音量调节.待机.关机 演示视频 : 教程: 一.使用方法: 1.Windows 上安装一个 SSH 服务器软件并 ...
- windows制作定时关机脚本_自动关机、自动打开程序… 让Windows自动执行任何操作...
文章转载于网络,侵删 Windows 中有一个非常棒的功能,叫做"任务计划程序",但是因为它的界面看起来有点复杂,导致很少有人使用它. 其实对于任何人而言,"任务计划程序 ...
- c语言设置程序自动执行,c语言如何设置程序进程执行优先权
c语言如何设置程序进程执行优先权 使用setpriority()函数设置程序进程执行优先权: 头文件: #include#include 定义函数: int setpriority(int which ...
- linux下用脚本语言开发自动重启程序
由于最近要负责一个项目的维护工作,这个服务器总是出现段错误,由于时间比较紧张,我就写了一个简单的重启脚本,先让服务器不至于总是dump掉. 废话不多说,先上代码: #!/bin/sh CheckPro ...
最新文章
- python语言自学-【经验分享】自学Python的学习顺序!附学习资料
- 算法题 身高差_10个大数据处理常见算法题
- zbb20171013 mysql服务重启 重启服务 重启mysql服务
- mysql 联合索引 性能_mysql:联合索引及优化
- HTML5 API详解(8):worker多线程教你如何避免页面卡死
- 案例:演示exception对象的使用
- 怎样用java生成GUID与UUID
- 马云点名的工程师,除了几百封求爱信还有13项区块链专利
- 软件任我行 10步菜鸟快易通上手教程
- 史上最牛最全android开发知识汇总
- JavaScript分解质因数
- 禅道数据库管理登录失败,使用/opt/zbox/auth/adduser.sh命令新开用户解决
- python绘制饼图
- 一个汉字转拼音的小工具
- Android RrecyclerView条目跳转到指定位置
- 【图】深度优先遍历 广度优先遍历
- Winmail 邮件服务器的「架设与使用」
- C# winFrom中让MessageBox.Show显示到最顶层
- 【读书笔记】c和指针
- 计算机组成与设计硬件/软件接口 (MIPS版)
热门文章
- 拔火罐适应症及主要穴位
- 2017年第1季度IT互联网市场报告
- 6-1 顺序表的查找操作
- 变成一个厉害的人,最核心的一点:相信复利效应
- iSuppli统计发布了中国山寨手机市场销售量[转]
- 流媒体播放器EasyPlayer.js播放H.265视频,无法截取快照是什么原因?
- 论提高计算机网络可靠性方法措施,提高计算机网络可靠性的相关措施论文
- C++学习笔记:类的多重继承派生(eg:person、account、admin和master类)
- 注册表修改-Smartphone
- 前端工程化-webpack/cli工具