编写一个小的C程序,在输入的时间内关闭窗口

时间:2012-04-03 20:10:47

标签: c windows

我想编写一个程序来在N秒内关闭窗口。我知道关闭窗口的最简单方法是使用

调用system()
shutdown -s -t XXXX

其中XXXX是给定时间。但是system()只接受字符串作为参数。如何调用用户输入7200的system("shutdown -s -t 7200")

2 个答案:

答案 0 :(得分:1)

我会改用InitiateSystemShutdown。您可以使用ExitWindowsExitWindowsEx,但这两者都没有直接支持原始问题中要求的延迟,因此您必须添加代码才能延迟(例如,使用SetTimer)。这当然是可能的,但是如果不做任何额外的回报,就会产生额外的工作。

如果您坚持使用system,则可以使用sprintf(或类似内容)创建传递给system的字符串:

char buffer[256];

sprintf(buffer, "shutdown -s -t %d", seconds);
system(buffer);

答案 1 :(得分:1)

查看scanf()sprintf(),例如:

#define MAX_LENGTH 50
/* ... */
int shutdownTime;
char shutdownCall[MAX_LENGTH];

scanf("%d", &shutdownTime);
if (shutdownTime < 0) 
    return NEGATIVE_TIME_ERROR;
sprintf(shutdownCall, "shutdown -s -t %d", shutdownTime);
system(shutdownCall);