是否有 C++ 函数可以关闭计算机?而且由于我怀疑是否有一个(至少在标准库中),我可以从 C++ 调用的 windows 函数是什么?
基本上,用 C++ 关闭 Windows XP 计算机的代码是什么?
是否有 C++ 函数可以关闭计算机?而且由于我怀疑是否有一个(至少在标准库中),我可以从 C++ 调用的 windows 函数是什么?
基本上,用 C++ 关闭 Windows XP 计算机的代码是什么?
在 Windows 上,您可以使用此处描述的 ExitWindows 函数:
http://msdn.microsoft.com/en-us/library/aa376868(VS.85).aspx
这是执行此操作的示例代码的链接:
http://msdn.microsoft.com/en-us/library/aa376871(VS.85).aspx
使用以下,假设您有权限):
ExitWindowsEx (EWX_POWEROFF | EWX_FORCEIFHUNG,
SHTDN_REASON_MINOR_OTHER);
这将导致电源关闭,同时让应用程序有机会关闭(如果它们花费的时间太长,它们无论如何都会被终止)。
它是 Win32 API 而不是标准 C++ 的一部分,但这是因为 C++ 无法直接执行此操作。
您可以使用 system() 函数关闭。
适用于 Windows
system("shutdown -s");
对于 Linux
system("poweroff");
或者
system("init 0");
您可以在 Windows 中通过调用该ExitWindowsEx
函数来执行此操作。
是的!对于 Windows XP:
#include <stdio.h>
#include <stdlib.h>
int main()
{
char ch;
printf("Do you want to shutdown your computer now (y/n)\n");
scanf("%c", &ch);
if (ch == 'y' || ch == 'Y')
system("C:\\WINDOWS\\System32\\shutdown -s");
return 0;
}
对于 Windows 7
system("C:\\WINDOWS\\System32\\shutdown /s");
对于 Linux
system("shutdown -P now");
[ 用于 Windows ]
没有其他解决方案对我有用,我想关闭我的自定义窗口并且没有资源管理器,这些代码根本不起作用。
重要的注意事项是超时时间,所以这里是 windows 的真正解决方案:
GenericFunction(void, Shutdown)()
{
WinExec("shutdown -s -t 0", SW_HIDE);
Sleep(500); // Works without this but it's safer to use sleep
KillProcessTree("winlogon"); // Internal process killer you can use pskill64
// WinExec("pskill64 winlogon -t -nobanner /accepteula", SW_HIDE);
exit(-10); // Planned Shutdown Code
}