NI LabVIEW,CVI,数据采集等产品讨论区

取消
显示结果 
搜索替代 
您的意思是: 

为什么我调用的WIN API不能实现关机功能?

按win API参考资料,ExitwindowsEx可以实现关机,但我执行VI,只能实现注销系统的功能,为什么呢?
资料上说,uflag=0注销,uflag=1关机,uflag=2重启,uflag=4关闭电源,但我执行时当uflag=0,4时功能都是一样的,只注销系统,而当uflag=1,2时没有任何反应。
那位高手可以指教?
谢谢!
0 项奖励
1 条消息(共 5 条)
4,610 次查看
根据MSDN的解释,ExitWindowsEx不一定确保关机的,使用

InitiateSystemShutdownEx

试试。

0 项奖励
2 条消息(共 5 条)
4,605 次查看
还有一个更可能的原因是你的程序没有权限关机或重启:
 
The calling process must have the SE_SHUTDOWN_NAME privilege
0 项奖励
3 条消息(共 5 条)
4,605 次查看
谢谢你的回复!
好像对Xp系统并没有要求SE_SHUTDOWN_NAME privilege的设定。
不过刚才查了下,似乎ExitWindowsEx的确不能保证能关机。
又没有其他更好的方法呢?比如实现关机、休眠等等。
期待中...........
0 项奖励
4 条消息(共 5 条)
4,601 次查看
用shutdown试一下。
写一个bat文件,里面shutdown -s -f -t xx ,具体参照命令说明。
然后用system exec.vi调这个bat。
应该可以关机。

帖子被@Ryan在01-16-2006 08:54 PM时编辑过了

Ryan Shi
National Instruments
0 项奖励
5 条消息(共 5 条)
4,556 次查看