★几个关于休眠、唤醒、关机的问题★

dream_pzy 2003-08-20 11:05:18
1、如何使键盘上的“power”键失效?
2、如何编程实现“power”、“sleep”、“wake up”
3、以下代码实现“关机”功能,但是执行后出现“您可以安全的关闭计算机了”如何解决?

HANDLE hToken;
TOKEN_PRIVILEGES tkp;
DWORD dwVersion;
dwVersion = GetVersion();
if (dwVersion < 0x80000000)
{
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,&tkp.Privileges[0].Luid);

tkp.PrivilegeCount = 1;
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);

ExitWindowsEx(EWX_SHUTDOWN |EWX_FORCE, 0);
}
else
{
ExitWindowsEx(EWX_FORCE | EWX_SHUTDOWN,0);
}
...全文
69 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dream_pzy 2003-08-20
  • 打赏
  • 举报
回复
换了EWX_POWEROFF好象没什么区别
换了EWX_FORCEIFHUNG 编译不通过,说没这个东东
lygfqy 2003-08-20
  • 打赏
  • 举报
回复
转贴

所有平台核心代码都是 ExitWindowsEx(UINT, DWORD) 一句。
UINT 参数可选值:
EWX_LOGOFF //注销
EWX_POWEROFF //关机并断电
EWX_REBOOT //重启
EWX_SHUTDOWN //关机,不断电
以上的选择其中一个。附加选项除
EWX_FORCE
EWX_FORCEIFHUNG //比 EWX_FORCE 更严格
同样二选一。
对于 DWORD dwReason,除 XP/.net Server family 之外其它平台都是忽略的,没有作用。
vcforever 2003-08-20
  • 打赏
  • 举报
回复
这段代码是MSDN上的原版,是不太好使
我现在还没解决,来这里关注一下
学习学习,看看高手们的解决方法
呵呵……
xiaohedou 2003-08-20
  • 打赏
  • 举报
回复
这里,有吗?急着要出去。

请收藏:有关系统的常用API(桌面,注册表,磁盘信息,关机注销,用户信息等等)

http://expert.csdn.net/Expert/topic/2134/2134696.xml?temp=.9022791
WOL原理   WOL(Wake on Lan),即局域网唤醒,从根本上来说是硬件设备提供的一项管理功能。该功能可以当电脑处于关机休眠状态时,通过给网卡发送特定的数据包从而命令网卡向主板发送开机指令,进而实现上电开机。 可见,网络唤醒需要硬件(主要是主板和网卡)的支持。目前几乎所有品牌的硬件都支持WOL(2000年以前的硬件产品有可能不具有该功能),但有可能在软件上默认WOL处于关闭状态(为什么不是默认启用状态呢?当然是出于安全考虑),如何启用硬件的这两个功能,网络上有很多这样的文章,下面也将简单介绍。不同的产品,界面略有不同,但这些都是很简单的。 如果能找到上述设置的地方,就说明你的硬件是支持WOL的,启用这些功能后就可以通过局域网来唤醒了。 要注意,如果电脑非正常关机(比如按Power键来强制关机)还是无法WOL的,只有正常关机后,网卡仍会处于活动状态可以接收网络数据。 了解了基本的原理,接下来就试试如何来唤醒吧 WOL工具介绍 实现远程唤醒的软件有很多,原理都是相同的。下面列出几款常用的WOL软件: LanHelper Magic Packet Utility NetWaker for windows WakeOnLanGui 以下方法是基于WakeOnLanGui来实现。 本工具不仅可以在局域网内唤醒电脑,还可以通过internet唤醒电脑。 首先,得到被唤醒电脑网卡的MAC地址(可以通过查看对应网卡的属性找到)。其它项在局域网内唤醒时并不重要,也就是说只要MAC正确,点击“Wake Me UP”就可以唤醒对应的电脑了。   如果需要通过internet来唤醒,也必须确保在局域网内是可能正常唤醒的。在局域网内,该软件会发送Magic Packet的广播包,如果对应MAC地址的网卡收到该包后,就可以做出响应启动电脑。 3.通过internet远程唤醒   WAN与LAN不同在于在广域网上,有许多的路由器等网络设备,这些设备可能会使Magic Packet的包不能到达我们想唤醒的电脑网卡上。因此,要实现通过internet来唤醒,必须得到路由器的支持。   首先确保路由器可以正常接入internet,即通过服务商得到一个公网IP,进入路由器WEB配置页面http://172.18.100.1/userLogin.asp a. 端口映射(虚拟服务器)   “地址转换”-“虚拟服务器”,添加一新条目,端口为7101(也可以是其它端口号,只要不和其它的冲突),IP地址为需要唤醒电脑网卡所使用的IP地址(比如172.18.7.101),服务名称为WOL_vmnic1,并使之处于“生效”状态。 这一步使得当路由器收到发到它7101端口的数据都会转发到172.18.7.101这台电脑上。 b. IP与MAC绑定 “IP与MAC绑定”-“静态ARP绑定设置”,添加一新条目,MAC地址添为网卡(被唤醒电脑上的)MAC,如00-0B-2F-XX-XX-XX,IP为上一步设置的IP172.18.7.101 当路由器收到从internet发来的MagicPacket包时,由于设了端口映射就需要将其转发到172.18.7.101上。但由于电脑是处理关机状态,ARP无法通过广播找到172.18.7.101这台电脑,Magic包将被路由器丢弃,因此进行静态的IP-MAC绑定,使数据包可以直接发往MAC为00-0B-2F-XX-XX-XX的网卡上。 此时,从理论上来说,通过internet的远程唤醒就可以成功了。但还有一些工作需要补充,以便更好地工作。 c. 为了确保该电脑在启动后可以获得172.18.7.101这个IP,需要在DHCP服务器中设置一个静态地址分配,即MAC 00-0B-2F-XX-XX-XX 静态分配172.18.7.101永不过期。 d. 通过登录http://172.18.100.1/userLogin.asp 查看公网IP地址以及子网掩码。 配置好了路由器(可能需要重新启动路由器),就可用上面那个WOL for windows来通过internet过程唤醒(WOL over the internet)。
此项目利用STM32L073作为主控芯片,主要测量CO的浓度,此项目的主要性能注重于低功耗处理,将传统的数码管/段码屏更改为更低功耗的电子纸屏,此类屏只有在刷屏时才有耗损,并且功耗只有几十mW,这样屏的功耗大大降低,对整机工作电流只有十几mA功耗来说,已经是质的提示。 在降低屏的功耗同时,对设备的工作模式也做了相应的调整。该设备为了适用更多的应用场合和供电方式,设备设有间隙工作模式,此模式通过设定间歇工作电压值来实现。 举例说:设备的关机电压设定为3.2V,当电池电压低于3.2V后,出于对电池的过放保护,设备自动关机;同样对应间歇工作,设备也通过一个电压值来判断,如果间歇工作电压值设置为3.6V,当电池电压低于3.6V时,设备开始进入间歇工作模式。 在此模式下,设备休眠特定的时间(用户可设定)后,自动唤醒检测环境CO浓度,如果当前浓度没有超过设定的预警值,那么在检测完成后,继续进入休眠模式,等待下个唤醒周期。如果当前检测浓度超过设定的预警值浓度,那么设备将持续工作不再进入间歇工作模式,直至浓度低于预警值。 间歇工作模式优点在于:不仅可以有效的降低功耗,同时用户可以根据自己的需求设定间歇工作电压值来达到待机时间和实时检测的有效平衡。例如如果用不需要间歇工作模式,可以将间隙工作电压值设置为3.20V以下,这样设备就始终无法进入间歇工作模式。同理如果客户只需要间歇工作模式,那么只要将间歇工作电压值设置为4.20V以上,这样设备一上电就进入了间歇工作模式,这样只需要根据需要设备唤醒的周期即可。 设置支持一键开关机工作,所有的参数设定通过串口来完成,并配有简单的通讯协议和容错机制。 视频演示:

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧