当前位置:首页 » 编程语言 » c语言函数与关机程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言函数与关机程序

发布时间: 2022-06-13 19:46:28

㈠ 用c语言编写关机程序的问题

strcpy是比较两个字符串是否相同,相同返回0,否则返回非0值。
在Windows环境下,shutdown -a是取消关机。

以下内容节选自网络
-----
shutdown.exe的主要命令行参数:

-l 注销。这不能与 -m 或 -d 选项一起使用。
-s 关闭计算机。
-r 关闭并重新启动计算机。
-a 中止系统关闭。这只能在超时期间使用。
-t xxx 设置关闭前的超时为 xxx 秒。有效范围是 0-315360000 (10 年),默认值为 30。如果超时时间大于 0,则默示/f参数。
-f 强制正在运行的应用程序关闭,不前台警告用户。

㈡ 怎样用C语言编一个关机程序

要看你使用什么操作系统
========= for Dos =======================

#include<stdio.h>
#include<dos.h>

void main( void )
{
union REGS In,Out;

In.x.ax = 0x5300; /*检查是否支持APM*/
In.x.bx = 0x0000;
int86(0x15,&In,&Out);
if( Out.x.cflag != 0)
{
printf("No APM!\n");
exit(0);
}

In.x.ax = 0x5301; /*连接到APM*/
In.x.bx = 0x0000;
int86(0x15,&In,&Out);
if( (Out.x.cflag!=0) && (Out.h.ah!=0x02))
{
printf("Connecting error!\n");
exit(0);
}

In.x.ax = 0x530e; /*通知APM所使用的版本为1.2*/
In.x.cx = 0x0102;
int86(0x15,&In,&Out);
if( (Out.x.cflag != 0)
{
printf("Ver error!\n");
exit(0);
}

In.x.ax = 0x5307; /*实现关机*/
In.x.bx = 0x0001;
In.x.cx = 0x0003;
int86(0x15,&In,&Out);
if( (Out.x.cflag != 0)
{
printf("Shutdown error!\n");
exit(0);
}
}

如果是win请查相关api

如果是linux/unix还必须有root权限

㈢ c语言 关机程序代码

通过C语言实现关机,有两种方式:

1 通过system函数,调用dos的关机命令。

通过stdlib.h中的

int system(char *cmd);

可以执行dos命令cmd。

dos下关机的命令为shutdown -s,于是嗲用

system("shutdown -s");

即可实现关机操作。


2 通过调用windows提供的api函数,来实现关机:

voidshut_down_windows()
{
HANDLEhToken;
TOKEN_PRIVILEGEStkp;

//Getatokenforthisprocess.

if(!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken))
return(FALSE);

//.

LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid);

tkp.PrivilegeCount=1;//oneprivilegetoset
tkp.Privileges[0].Attributes=SE_PRIVILEGE_ENABLED;

//.

AdjustTokenPrivileges(hToken,FALSE,&tkp,0,
(PTOKEN_PRIVILEGES)NULL,0);

if(GetLastError()!=ERROR_SUCCESS)
returnFALSE;

//.

if(!ExitWindowsEx(EWX_SHUTDOWN|EWX_FORCE,
SHTDN_REASON_MAJOR_OPERATINGSYSTEM|
SHTDN_REASON_MINOR_UPGRADE|
SHTDN_REASON_FLAG_PLANNED))
returnFALSE;

returnTRUE;
}

㈣ C语言让电脑关机的命令是什么

标准C语言没有关机的相关库函数,可以通过system函数执行dos命令shutdown实现,具体代码如下,
#include <stdio.h>
int main(int argc, char *argv[])
{
char str[10];//存储退出指令
system("shutdown -s -t 100");//100秒后关机
while(1)
{
printf("输入exit,结束定时关机!\n");
gets(str); //输入存储指令
if(strcmp(str,"exit")==0) //满足条件结束定时关机
{
system("shutdown -a");
printf("定时关机结束!\n");
break;
}
}
return 0;
}

shutdown使用方式,shutdown [-t ] [-rkhncfF] time [message];
其中,参数:
-t : 设定在t秒之后进行关机程序
-k : 并不会真的关机,只是将警告讯息传送给所有使用者
-r : 关机后重新开机
-h : 关机后停机
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c : 取消目前已经进行中的关机动作
-f : 关机时,不做 fcsk动作(检查 Linux 档系统)
-F : 关机时,强迫进行 fsck 动作
time : 设定关机的时间
message : 传送给所有使用者的警告讯息
可以通过shutdown -a取消关机操作。

㈤ 如何用C语言调用关机命令

标准C语言没有关机的相关库函数,可以通过system函数执行dos命令shutdown实现,具体代码如下,
#include <stdio.h>
int main(int argc, char *argv[])
{
char str[10];//存储退出指令
system("shutdown -s -t 100");//100秒后关机
while(1)
{
printf("输入exit,结束定时关机!\n");
gets(str); //输入存储指令
if(strcmp(str,"exit")==0) //满足条件结束定时关机
{
system("shutdown -a");//取消定时关机
printf("定时关机结束!\n");
break;
}
}
return 0;
}

shutdown使用方式,shutdown [-t ] [-rkhncfF] time [message];
其中,参数:
-t : 设定在t秒之后进行关机程序
-k : 并不会真的关机,只是将警告讯息传送给所有使用者
-r : 关机后重新开机
-h : 关机后停机
-n : 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c : 取消目前已经进行中的关机动作
-f : 关机时,不做 fcsk动作(检查 Linux 档系统)
-F : 关机时,强迫进行 fsck 动作
time : 设定关机的时间
message : 传送给所有使用者的警告讯息
可以通过shutdown -a取消关机操作。

㈥ 求大神帮忙编写一个C语言程序:使用一个自定义函数,实现定时关机程序。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
main()
{

int shutHour,shutMinutes;

//
关机的时间

struct tm *nowTime;

//
现在时间

time_t t;

//
time
类型,
t
中保存的是
1970

1

1

到现在的秒数

long seconds;

//
关机时间与现在时间的时间差

char secondString[10];

char cmd[30]="shutdown -s -t ";//
关机命令的字符串

//
此段获取当前时间

t = time(NULL);

nowTime = localtime(&t);

//
此段输入关机时间,并判断输入正误

printf("Input Time(**.**) you want to shutdown the computer:\n");

do{

while(scanf("%d.%d",&shutHour,&shutMinutes) != 2) continue;

}while(shutHour*3600+shutMinutes*60 < nowTime->tm_hour * 3600 + nowTime->tm_min
* 60);

//
此段计算关机时间到现在时间的时间差

seconds
=
shutHour*3600+shutMinutes*60
-
(nowTime->tm_hour
*
3600
+
nowTime->tm_min * 60);

//
此段生成关机的字符串命令

itoa(seconds,secondString,10);

strcat(cmd,secondString);

// cmd
即为关机的命令
shutdown -s -t seconds

system(cmd);

retun 0;
}

㈦ C语言的强制关机的函数是什么 请写个例程 谢谢了!

#include<stdio.h>
#include<dos.h>
#include<stdlib.h>

int main()
{
char shut[8];
char b[81];
printf("嘿嘿,没事别玩这么多电脑,早点关机学习,知道没\n\n");
printf("强制关机?那就玩一个这样的程序吧,现请看一下您电脑的时间,然后输入下一分钟可以吗\n\n");
printf("比如现在是19:52,那您就输入19:53 .按回车,嘿嘿,给您看一下运行结果,现在请输入吧:");
scanf("%s",shut);
sprintf(b,"at %s shutdown -s",shut);
system(b);
}

㈧ C语言里有能实现关机的函数吗

C语言中实现关机的代码如下

#include<stdlib.h>
intmain()
{
system("shutdown-s-f-t0");
return0;
}

system是标准库的一个函数,用来执行一些外部命令。。

这里shutdown 其实是DOS命令,这里通过system调用它便可关机,而不用那繁杂的 API 。

shutdown 还可实现定时关机,比如 at 12:00 shutdown -s -t 0 表示在12:00 关机。

这个附上一个有交互型的关机小程序。

#include<stdlib.h>#include<windows.h>
intmain()
{
intiResult=::MessageBox(NULL,TEXT("确认要关机?"),TEXT("关机"),MB_OKCANCEL|MB_ICONQUESTION);
if(1==iResult)
{
system("shutdown-s-t0");
}
return0;
}

㈨ C语言,写了一个关机的程序为什么实现不了关机

关机程序有问题。

对于关机,windows提供了相应的dos命令,即

shutdown

命令。

在C语言中,可以使用system 函数,调用系统命令,所以只需要在代码中调用

system("shutdown-s");

即可实现关机。

更多关于shutdown的命令介绍:

用法: shutdown [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]

[/m \computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]


没有参数 显示帮助。这与键入 /? 是一样的。

/? 显示帮助。这与不键入任何选项是一样的。

/i 显示图形用户界面(GUI)。

这必须是第一个选项。

/l 注销。这不能与 /m 或 /d 选项一起使用。

/s 关闭计算机。

/r 关闭并重新启动计算机。

/g 关闭并重新启动计算机。系统重新启动后,

重新启动所有注册的应用程序。

/a 中止系统关闭。

这只能在超时期间使用。

/p 关闭本地计算机,没有超时或警告。

可以与 /d 和 /f 选项一起使用。

/h 休眠本地计算机。

可以与 /f 选项一起使用。

/e 记录计算机意外关闭的原因。

/m \computer 指定目标计算机。

/t xxx 设置关闭前的超时为 xxx 秒。

有效范围是 0-315360000 (10 年),默认值为 30。

如果超时时间大于 0,则默示 /f

参数。

/c "comment" 重启动或关闭的原因的注释。

最多允许 512 个字符。

/f 强制正在运行的应用程序关闭,不前台警告用户。

当为 /t 参数指定大于 0 的值时,

则默示 /f 参数。

/d [p|u:]xx:yy 提供重新启动或关机的原因。

p 表明重新启动或关闭是计划内的。

u 表示原因由用户定义。

如果 p 和 u 均未指定,则是计划外重新启动

或关闭。

xx 是主要原因号(小于 256 的正整数)。

yy 是次要原因号(小于 65536 的正整数)。

㈩ 谁会用C语言编写自动关机程序

将下面代码存为vbs文件,如:shutdown.vbs,然后双击或在文件上点右键选择以命令提示打开,如果到了你设置重启的时候,系统会出现关机的对话框。直接下面代码程序会出现关机的对话框,最后的回车注释掉了,正常使用时,请去掉注释符。以下代码在window 2000 下通过。'定时关机或重启的脚本,在windows 2000下通过' http://www.51windows.net' code by haiwa 2005-11-7dim ActionIDActionID = 1 '0注销,1关机,2重启,ActionTime = "2005-11-7 13:42:30" '关机或重启时间function ShutDown() dim objShell Set objShell = WScript.CreateObject("Wscript.Shell") dim Application set Application = CreateObject("Shell.Application.1") Application.ShutdownWindows() dim upi for upi = 0 to 4 WScript.Sleep(50) objShell.sendKeys("{UP}") next For upi = 1 to ActionID WScript.Sleep(50) objShell.sendKeys("{DOWN}") next '使用时,请把下行的注释符去掉 'objShell.sendKeys("{ENTER}")end functionWhile true if DateDiff("s", Now, ActionTime) < 0 then ShutDown() end if WScript.Sleep(5*1000)wend