请教关于机器的自动关机

沙沙的吹 2003-08-29 07:10:00
我在C++Builder中,要关闭计算机。
我使用调用命令方式来实现,shutdown -s -f
可是这种方式下,我的XP系统不关闭电源,只是到最后提示可以安全关机
我现在想关闭电源,我需要如何实现。
有没有APi可以做这件事?
给出代码的非常感谢!!
...全文
97 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Atomictry 2003-09-03
  • 打赏
  • 举报
回复
行行好,给点吧。:(
Siney 2003-09-01
  • 打赏
  • 举报
回复
我来强分
elxf99 2003-09-01
  • 打赏
  • 举报
回复
不知道能不能捞一点。
  • 打赏
  • 举报
回复
来晚一步,就是一楼的红军说的那个API。
hong668 2003-08-30
  • 打赏
  • 举报
回复
XP系统不关闭电源,只是到最后提示可以安全关机
这个和你的主版CMOS设置有关系,二楼的方法很详细,不过我估计还是会出同样的问题。
zihan 2003-08-30
  • 打赏
  • 举报
回复
呵呵这年头,分真难抢阿
Behard 2003-08-29
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2161/2161143.xml?temp=.6005823


// 如果你使用下面的代码还是不行的话,可能是你的电脑有问题了
UINT m_UStatus; // private:
m_UStatus = EWX_REBOOT; // 重启
m_UStatus = EWX_LOGOFF; // 注销
m_UStatus = EWX_SHUTDOWN| EWX_FORCE| EWX_POWEROFF; // 关机,EWX_FORCE 为强迫关机,必须要 EWX_POWEROFF,否则是到“您可以安全的关闭计算机了”

DWORD dwVersion = GetVersion();
if (dwVersion < 0x80000000) // NT
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
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 ( m_UStatus, 0 );
}
else // 9X
ExitWindowsEx ( m_UStatus, 0 );

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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