精华内容
下载资源
问答
  • vc实现关机开机程序

    千次阅读 2010-04-16 09:54:00
    关机 、待机和休眠编程 程序中主要使用了InitiateSystemShutdown()这个函数。CString CPage1::ShowError(){ LPVOID lpMsgBuf; ::FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | ...

    关机 、待机和休眠编程
    程序中主要使用了InitiateSystemShutdown()这个函数。

    CString CPage1::ShowError()
    {
     LPVOID lpMsgBuf;
     ::FormatMessage(
       FORMAT_MESSAGE_ALLOCATE_BUFFER |
       FORMAT_MESSAGE_FROM_SYSTEM |
       FORMAT_MESSAGE_IGNORE_INSERTS,
       NULL,
       ::GetLastError(),
       MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
       (LPTSTR) &lpMsgBuf,
       0,
       NULL
       );

     CString strMsg((LPCTSTR)lpMsgBuf);
     ::LocalFree( lpMsgBuf );
     
     return strMsg;
    }
     


    关机:

    void CPage1::OnShutdown()
    {

     GetDlgItem(IDC_STATE)->SetWindowText("正在试图关闭计算机,请稍候...");


     static HANDLE hToken;
     static TOKEN_PRIVILEGES tp;
     static LUID luid;
     if(::OpenProcessToken(GetCurrentProcess(),
                        TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,
            &hToken))
     {
      ::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
      tp.PrivilegeCount=1;
      tp.Privileges[0].Luid =luid;
      tp.Privileges[0].Attributes =SE_PRIVILEGE_ENABLED;
      ::AdjustTokenPrivileges(hToken,false,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
     }


      UpdateData(true);
     CString str;
     str.Format("%s",m_strName);
     
     if(!::InitiateSystemShutdown(
           (LPTSTR)(LPCTSTR)str,
           "/n不好意思,我要关机了!",
           m_nTime,
        m_bAlert==0?true:false,
        m_nType==0?false:true
        ))
     {
      GetDlgItem(IDC_STATE)->SetWindowText(this->ShowError());     
     }
     else
      GetDlgItem(IDC_STATE)->SetWindowText("关机成功");

    }
     


    取消关机:

    void CPage1::OnAbort()
    {


     GetDlgItem(IDC_STATE)->SetWindowText("正在试图取消关机操作,请稍候...");


     UpdateData(true);
     CString str;
     str.Format("%s",m_strName);

     if(!::AbortSystemShutdown((LPTSTR)(LPCTSTR)str))
     {
      GetDlgItem(IDC_STATE)->SetWindowText(this->ShowError());     
     }
     else
      GetDlgItem(IDC_STATE)->SetWindowText("取消成功");
    }
     


    休眠:

    void CPage1::OnXiu()
    {
     if(MessageBox("确实要休眠吗?","关机程序",MB_YESNO|MB_DEFBUTTON2|MB_ICONQUESTION)==IDYES)
     {
      static HANDLE hToken;
      static TOKEN_PRIVILEGES tp;
      static LUID luid;
      if(::OpenProcessToken(GetCurrentProcess(),
             TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,
             &hToken))
      {
       ::LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
       tp.PrivilegeCount=1;
       tp.Privileges[0].Luid =luid;
       tp.Privileges[0].Attributes =SE_PRIVILEGE_ENABLED;
       ::AdjustTokenPrivileges(hToken,false,&tp,sizeof(TOKEN_PRIVILEGES),NULL,NULL);
      }
      ::SetSystemPowerState(false,true);
     }
    }

     
     
     
     

    展开全文
  • 用C语言写一个简单的开机自启动关机程序 对于我们这些刚学C语言的小白们来说,一个简单且有趣的小程序可以极大的提高我们对C语言的兴趣,而今天我学到了一个开机的时候自启动的一个关机程序 #include &amp...

    对于我们这些刚学C语言的小白们来说,一个简单且有趣的小程序可以极大的提高我们对C语言的兴趣,而今天我学到了一个开机的时候自启动的一个关机小程序

    #include <stdio.h> 
    #include <string.h> 
    #include <stdlib.h> 
      int main() 
      { 
       char input[20] = {0}; 
       system("shutdown -s -t 60"); 
      again: 
       printf("请注意,你的电脑将会在1分钟后关机,如果输入[我是猪],那就取消关机\n"); 
       scanf("%s", input); 
      if(strcmp(input, "我是猪") == 0)//strcmp 
       { 
        system("shutdown -a"); 
       } 
       else 
      { 
        goto again; 
       } 
       return 0; 
      } 
    

    代码块就是这样
    然后就是将.exe文件放入开机自启动的部位了
    首先,win+R,将运行的对话框打开,在运行对话框输入shell:startup

    确定之后,就会进入C:\Users\AppData\Roaming\Microsoft\Windows\「开始」菜单\程序\启动 这样的一个目录
    在这里插入图片描述
    然后将上面的.exe文件拖入到这个目录下,OK,大功告成!
    这样,每次只要一开机就会自动运行这个关机程序,不想执行这个程序也很简单,只要将.exe文件从那个目录删除就可以了

    展开全文
  • 设置CentOS开机启动程序及定时关机

    千次阅读 2015-11-04 17:56:20
     定时关机可以使用crontab命令:比如可以rc.local中加入crontab命令,使得每次开机启动以后都会定时关机,不过注意,这里定时关机的命令需要放在一个文本文件中,比如新建一个shutdown.sh文件放在/etc/目录下,...
    
      目前用得最多的是在/etc/rc.local文本文件中添加开机启动需要运行的命令,rc.local即开机脚本文件。
            定时关机可以使用crontab命令:比如可以在rc.local中加入crontab命令,使得每次开机启动以后都会定时关机,不过注意,这里定时关机的命令需要放在一个文本文件中,比如新建一个shutdown.sh文件放在/etc/目录下,内容为:

    50 22 * * * halt -p

    意思即为每天22:50定时关机,然后在rc.local中添加如下语句即可:

    crontab /etc/shutdown.sh

    另外还有一种方法,即系统有一个专门存放需要crontab执行命令的目录:/var/spool/cron/ 
    在该目录下新建文件(比如名称为crontabs的文件),然后在里面存放需要执行的命令,比如上面的开机命令即可。
    补充一下:
    /etc/cron.deny 文件中所列的用户不允许使用Crontab命令 
    /etc/cron.allow 文件中所列的用户允许使用Crontab命令 

    下面这条命令可以显示计划情况:

    crontab -




    展开全文
  • “wake on lan”是一个为现在大多数有线网卡所支持的一个功能,目前来说笔记本的无线网卡不具备,主要是考虑到开启这个功能在关机的情况下仍会消耗一点电力,但随着低功耗硬件和高容量的电池的不断发展,让笔记本...

    “wake on lan”是一个为现在大多数有线网卡所支持的一个功能,目前来说笔记本的无线网卡还不具备,主要是考虑到开启这个功能在关机的情况下仍会消耗一点电力,但随着低功耗硬件和高容量的电池的不断发展,让笔记本实现这个功能也是很容易的。

    开启“wake on lan”功能需要在主板的bios里的电源选项里设置,记住开启该功能后即使在关机的情况下网卡仍会消耗一点电力。关机后的网卡会继续接受来着网络的数据包,当接收到开机指令时,便会启动计算机。那这条开机指令的格式是什么呢?

    6*0xFF+16*MAC地址

    重复六次0xFF和是六次要开机的网卡的mac地址。

    一个0xFF是8位,一个mac地址是48位,6*8+16*48=816位 =102字节。

    欲激活一台主机,那么就需要向该网卡发送102字节的数据包。如果使用c#的话就需要定义如下:

    byte[] sendBytes = new byte[102];

    无论激活哪台及其,数据包的前6字节都是一样的,都是0xFF。如果使用c#的话:

    for (int i = 0; i < 6; i++)
               {
                   sendBytes[i] = 0xFF;
               }

    接下来就是填充mac地址了。我们在这里做个假设,目标机器的网卡mac为:

    08-00-27-00-D8-9A

    对输入的mac要处理一下

    string macAddress=”08-00-27-00-D8-9A”;

    macAddress = macAddress.Replace(":", "").Replace("-", "");

    当然,需要将这个字符串处理一下,使之转化为byte类型,如果使用c#的话,可以使用 byte.Parse()方法将字符串转换为byte类型。例如:

    byte test=byte.Parse(“FF”,System.Globalization.NumberStyles.HexNumber);

    可以将字符串“FF"转为0b11111111。那么将上面的mac地址字符串转为byte字节数组,就是每次取两个字符串变为一个字节。

    for (int i = 0; i < 16; i++)
                {
                    for (int j = 0; j < 6; j++)
                    {
                        sendBytes[(i + 1) * 6 + j] = byte.Parse(macAddress.Substring(j * 2, 2),    System.Globalization.NumberStyles.HexNumber);
                    }
                }

    由于要重复16次,所以在上一层多嵌套一个for循环。经过上述,一个102字节的开机数据包就准备好了。接下来就是要发送出去。

    怎么发,使用UDP协议发送便可,发送到端口7或者端口9。发送到哪个地址,只要目标机器能收到便可,在局域网内一般以发送广播包的形式发送(255.255.255.255 为广播地址)。

    UdpClient udpClient = new UdpClient();

    udpClient.Send(sendBytes, sendBytes.Length, “255.255.255.255”, 7);

    这样便完成了一个简单的远程开机功能。

    对于发送的目标地址,我再说上两句。在局域网内发送广播包可以让网内的所有机器都收到给数据包。那么广域网能不能也实现开机这个功能呢?也是行的,只要保证能让目标主机的电脑接收到这个数据包就行了。假设你现在在外面,家里有台电脑,使用adsl宽带,电脑是连接路由的,路由再连接adsl拨号上网的。只要你路由没关,adsl没关,那么你就有一个ip地址,你在外网往这个ip地址发送数据,就会被路由收到(当然还到达不了你的机器),此时,你需要设置路由映射,让来自外网发送到路由端口7的数据转发到你的机器上,那么你的机器就能收到这个数据包了。

    展开全文
  • {设置取消程序开机启动功能}  procedure TEpComOper.SetAppAutoRun(bRun : Boolean);  var  Reg:TRegistry;  begin  Reg := TRegistry.Create;  try  Reg.RootKey := HKEY_LOCAL_MACHINE; ...
  • dos命令关机开机

    千次阅读 2017-06-27 21:12:57
    下载文件时,估计两小时下完,设置自动关机windows系统自带一下...2.过一段时间关机,例如:shutdown -s -t 3600 表示3600秒(即1个小时)准时关机。 3.如果误操作执行了关机命令,可以取消自动关机:shutdown -a
  • linux 系统如何自动关机开机

    千次阅读 2017-12-16 12:43:05
    如果你的电脑不需要开机就请把它们关机。出于方便和计算机宅的考虑,你可以通过配置你的 Linux 计算机实现自动唤醒和关闭。 宝贵的系统运行时间 有时候有些电脑需要一直处在开机状态,不超过电脑运行时间...
  • 树莓派开机关机按键

    千次阅读 2020-06-13 14:18:51
    开机关机是和boot有关的,然后就是/boot下readme,/boot/overlays/文件夹下的README中,终于找到了相关的设置,不说废话了,相关说明如下: Name: gpio-shutdown Info: Initiates a shutdown when GPIO ...
  • 但是树莓派也不可能一直不关机,还是要关机之后开机程序能自启动。由于跑的程序也有崩溃的可能,所以最好是用命令行显示打开,以便将来程序即使崩溃了也能看到DEBUG的信息,也好知道这个程序是不是运行。 网上...
  • 树莓派配置开机关机

    千次阅读 2020-01-29 20:01:00
    添加电源键的方法,那就是写个脚本、让这个脚本开机启动,程序中一直检测设置为电源键的GPIO,如果被触发则关机。 只要 /boot/config.txt 中添加相关配置就能实现关机。 现在分享一个简单的方法/boot/overlays...
  • 情形: 下班之后,没有手动关闭虚拟机,直接合上笔记本(笔记本会进入休眠状态),回到宿舍打开电脑,...虚拟机显示开机状态,但是无法进入shell终端,也无法关机,一直卡黑框框 关闭VMware也不行 无奈之下,通
  • 电脑突然自动关机,重新开机后黑屏显示 如下 2012-05-26 16:49xiaoziwawawa | 分类:Windows | 浏览532次 Intel UNDI , PXE-2.1 (build 083) Copyright (c) 1997-2000 Intel Corporation This Product ...
  • 买了树莓派为了防止板子温度过高,想写个开机自启程序,当CPU温度超过85℃时自动关机
  • window开机 关机 记录日志

    万次阅读 2016-11-24 08:51:00
    (一)如果你只是想查看一下,从昨天关机到今天开机之间有没有人使用我的计算机,“开始”菜单的运行”中输入“eventvwr.msc” ,或者是按下"开始菜单"-"程序"-"管理工具"-"事件查看器",打开事件查看器,...
  • Win10 关机显示程序没有响应

    千次阅读 2020-11-22 15:15:13
    根本就找不到这个程序是个什么东西,即使我刚开机,啥都没干,直接关机,也是这个提示,有好几次关机的时候都是没法关掉,把笔记本直接装进书包,回家拿出来,那热乎乎,感觉给笔记本蒸了一个桑拿呀。 解决方案 ...
  • LINUX开机关机

    2008-12-18 10:32:00
    本章的主要内容1、 系统开机2、系统关机3、系统登录4、系统注销5、编辑器长青树 □ 系统开机 开机信息相当重要,因为它可以告诉你当前机器在开机时是否一切正常,或是哪些部分发生问题。这此开机的内容当然不须去主...
  • Windows设置自己的程序开机自动启动

    万次阅读 多人点赞 2018-12-20 17:49:26
    Windows系统想要快速设置开机自动启动某个程序,可以使用以下几种方法设置: 第一种:设置启动项 1.找到启动文件夹,我的是C:\Users\ThinkPad\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup,...
  • Windows XP怎么定时关机开机

    千次阅读 2007-01-19 14:48:00
    很多情况下,我们希望电脑可以定时关机开机,现在我们介绍一下Windows XP下实现定时关机的简单方法。 指定系统22分钟自动关闭:点击“开始→运行”,输入命令“Shutdown -s -t 1320”(注意:引号不输入,参数...
  • 如何查看电脑关机开机的时间

    千次阅读 2010-03-04 08:47:00
    有时候你会因为某种原因想查看电脑上次的开机关机时间,但又不知如何去查吧!下面我来告诉你两种很简单的方法...因为在开机时会有一条任务计划启动的日志,具体位置C:/windows(winnt)下的SchedLgU.Txt。SchedLgU.Tx
  • C语言实现开机关机

    千次阅读 2016-05-09 14:33:46
    http://c.biancheng.net/cpp/html/2829.html #include #include #include int main() { char cmd[20]="shutdown -s -t "; char t[5]="0";... system("title C语言关机程序"); //设置cmd窗口标题 s
  • 我看磁盘的碎片整理计划时,发现是每个星期3的网上3点。一般这时电脑都处于关机...还要如果电脑关机了,又没联网,每次开机电脑里的时间都是正确的,是不是关机后,还要程序在计时啊! 难道关机后程序还能运行?
  • 电脑怎么定时关机开机

    千次阅读 2007-01-22 17:36:00
    1、自动定时开机的实现首先启动计算机时,按“Delete”键进入BIOS界面。BIOS设置主界面中选择“Power Management Setup”菜单,进入电源管理窗口。默认情况下,“Automatic Power Up(定时开机,有些机器选项为...
  • 电脑整人关机程序

    千次阅读 2014-03-25 21:56:10
    可以用C语言中的system()函数来实现系统的自动关机程序,可以设置多长时间将自动关机。...哈、更狠的是将自动关机程序改为自动重启程序(这是很容易的),后果你一定能想到了吧~可以改进一下,就是每次开机的时候
  • Android如何监听开机广播和关机广播

    千次阅读 2016-09-06 15:08:40
    需求描述:有些时候,我们需要我们的程序在开机后能自动运行,系统即将关闭时,能写入一些记录到指定的文件里。 一、开机广播监听:  Android系统启动完成会发出启动完成广播(android.intent.action.BOOT...
  • linux开机关机步骤

    千次阅读 2014-08-11 18:36:47
    这一小节中介绍开机的过程,也就是从按下电源开始到登录画面中所有的过程... 当我们按下电源按钮,系统就会运行BIOS检测,包含检查系统的硬件配置、执行系统诊断程序、找出系统硬盘,并把第0号磁道中的开机导引程序
  • 状况描述:最近,笔记本电脑开机之后,网络图标一直转圈,任何应用程序也打不开,开机关机还是可以的,之前是偶尔发生这种情况,然后重启一下或许就行了,但最近每次开机都是这个情况,很恼火,网上百度了很久,有...
  • 这里是华硕主板 开机按del进入bios power Apm-configuration power on by rtc alarm – Enabled Rtc alarm date –everyday system time –06:00 按F10保存

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 49,020
精华内容 19,608
关键字:

关机后开机程序还在