【发布时间】:2013-07-05 07:28:19
【问题描述】:
我正在尝试探索在 C 中使用 system() 调用可以做的事情。
以下是我用来关闭机器的代码。它可以在 Windows XP 上运行,但是当我在 Windows 7 中启动时无法在我的机器上运行。这一定是什么问题?
我在 openSUSE 11.3 上尝试过system("shutdown -R Now"),它在那里也能正常工作。是什么导致了这个平台问题?我对system()的相关套路不是很熟悉。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
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;
}
【问题讨论】:
-
您是否从提升的命令提示符运行程序?
-
不,先生。我在 win-bash 上试过这个
-
你是从你的编译器启动这个程序吗?你用的是什么编译器?
-
您需要从有权关闭系统的上下文中运行程序。对于 Windows 7,这将是一个提升的命令提示符。