C 实现自动关机程序

目录

前言

1.windows命令符shutdown

2.关机程序的实现

2.1   goto语句的使用

2.2   goto可以被替代

3.将.exe添加至服务

3.1   服务

3.2    Windows的sc命令

3.2.1   sc命令功能

 3.2.2   如何添加至服务

3.2.3   删除服务


前言

用C语言编写的简单程序可以实现自动关机的整蛊作用,同时还有两种简单的Windows命令。可以发给你的好哥们,让他破大防!!!

1.windows命令符shutdown

shutdown -a 取消关机

shutdown -s 关机

shutdown -f 强行关闭应用程序

shutdown -m \\计算机名 控制远程计算机

shutdown -i 显示“远程关机”图形用户界面,但必须是Shutdown的第一个参数

shutdown -l 注销当前用户

shutdown -r 关机并重启

shutdown -s -t 时间 设置关机倒计时

shutdown -r -t 时间 设置重新启动倒计时

shutdown -h 休眠

正常来说,我们需要win+R打开运行,输入cmd后可以使用上面的指令,但是在C语言我们如何使用呢?只需要使用system()函数就行了。

2.关机程序的实现

2.1   goto语句的使用

#include

int main()
{
	char input[100] = { 0 };
	system("shutdown -s -t 90");
	printf("你的电脑将在1分半内关机,若不想关机,请输入lim x[(x^2 + 100)^1/2 + x]在x趋于无穷的答案\n");
again:
	scanf("%s", input);
	if (strcmp(input, "-50") == 0) {
		system("shutdown -a");
		printf("回答正确,已取消关机");
	}
	else {
		printf("回答错误,请重新输入\n");
			goto again;
	}
	return 0;
}

注: 你在代码中是不是看到了:

strcmp(input, "-50") == 0

strcmp:逐个比较字符串里面的字符,相同返回0,前面大于后面返回正数,前面小于后面返回负数。

2.2   goto可以被替代

#include

int main()
{
	char input[100] = { 0 };
	system("shutdown -s -t 90");
    while(1)
    {
	printf("你的电脑将在1分半内关机,若不想关机,请输入lim x[(x^2 + 100)^1/2 + x]在x趋于无穷的答案\n");
	scanf("%s", input);
	    if (strcmp(input, "-50") == 0) 
        {
		    system("shutdown -a");
		    printf("回答正确,已取消关机");
	        break;
	    }
        else
	    {
	        printf("回答错误,请重新输入\n");
	        continue;
	    }
    }
	return 0;
}

3.将.exe添加至服务

3.1   服务

在你的电脑搜索栏中搜索服务,打开服务如下图所示:

C 实现自动关机程序_第1张图片

里面你会看到一堆程序以及他们对应的启动类型 

启动类型主要分手动、禁用和自动(所谓自动就是开机时自动启用)

3.2    Windows的sc命令

SC命令是XP系统中功能强大的DOS命令,SC命令能与“服务控制器”和已安装设备进行通讯。SC是用于与服务控制管理器和服务进行通信的命令行程序。

注:该方法需要注意.exe文件是否符合服务的要求,如果不符合可能会导致服务启动失败!

3.2.1   sc命令功能

  • SC可以 检索和设置有关服务的控制信息。可以使用 SC.exe 来测试和调试服务程序。
  • 可以设置存储在注册表中的服务属性,以控制如何在启动时启动服务应用程序,以及如何将其作为后台程序运行。即更改服务的启动状态。
  • SC 命令还可以用来删除系统中的无用的服务。(除非对自己电脑中的软硬件所需的服务比较清楚,否则不建议删除任何系统服务,尤其是基础服务)
  • SC命令 的参数可以配置指定的服务,检索当前服务的状态,也可以停止和启动服务(功能上类似NET STOP/START命令,但SC速度更快且能停止更多的服务)。
  • 可以创建批处理文件来调用不同的 SC 命令,以自动启动或关闭服务序列。SC.exe 提供的功能类似于“控制面板”中“管理工具”项中的“服务”。

 3.2.2   如何添加至服务

首先以管理员身份运行cmd命令行窗口,接着输入下面的命令。其中myService为创建的本地服务名称,binpath为exe程序所在的绝对路径。

C 实现自动关机程序_第2张图片 上面显示失败是因为我已经把这个程序添加至服务了。

这里的myService就是你添加至服务后的名称。

如下图所示,我们已经成功把.exe程序添加至服务了 。

C 实现自动关机程序_第3张图片

 接下来只需要打开属性,把手动切换成自动就可以做到开机自动启用程序;如果你再把程序关机时间缩短,就是一个妥妥的病毒了。 

C 实现自动关机程序_第4张图片

3.2.3   删除服务

删除服务命令为sc delete "创建的服务名称"。

 这样之后,服务里面就成功去除了你所添加的.exe文件。

你可能感兴趣的:(c语言,开发语言)