m0_37890637
2017-11-07 09:25
采纳率: 33.3%
浏览 2.0k

C++实现计算机自动关机的问题

运行定时关机时总显示计划的关闭被取消是什么意思,怎么解决?谢谢

 #include <cstdlib>
#include <Conio.h>
#include <iostream>
//#include<stdlib.h>
#include<string.h>
using namespace std;
int main()
{
    int i;
    cout<<"1、关机"<<endl
        <<"2、重启"<<endl
        <<"3、注销"<<endl
        <<"4、休眠"<<endl
        <<"5、锁定"<<endl
        <<"6、取消"<<endl;
    cin>>i;
    switch(i)
    {
    case 1:{
        int j;
        cout<<"1、关机"<<endl
            <<"2、定时关机"<<endl
            <<"3、取消定时关机"<<endl
            <<"4、取消"<<endl;
        cin>>j;
        switch(j)
        {
        case 1:
            system("shutdown -s -t 0");
            break;
        case 2:{
            int t;
            cin>>t;         
            char b[50]; 
            char  shut[]="shutdown   -s   -t ";   
            printf("%s\n",itoa(t,b,10));//把10进制的125转成字符并输出。
            system(strcat(shut,b));     //将右部分字符串连接到左部分,并放入到system("");
        }
        case 3:
            system("shutdown -a");
            break;
        case 4:
            return 0;
        default:
            return 0;
        }
        break;
    }
    case 2:
        system("shutdown -r");
        break;
    case 3:
        system("shutdown -l");
        break;
    case 4:
        system("shutdown -h");
        break;
        case 5:
        system("rundll32.exe user32.dll,LockWorkStation ");
        break;
    case 6:
        return 0;
    default:
        return 0;
    }
    return 0;
    system("pause");
}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • jssmartstar 2017-11-14 03:50
    已采纳

    case 2:{
    int t;
    cin>>t;

    char b[50];
    char shut[]="-s -t ";

    printf("%s\n",itoa(t,b,10));//把10进制的125转成字符并输出。
    strcat(shut,b); //将右部分字符串连接到左部分,并放入到;
    ShellExecute(NULL, NULL, "C:\Windows\System32\Shutdown.exe", shut, NULL, SW_SHOWNORMAL);
    }

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 翱翔云端 2017-11-07 09:57

    debug跟踪下那些命令都是你需要的吗?

    评论
    解决 无用
    打赏 举报
  • 白萝卜。 2017-11-07 09:58

    你先在cmd 窗口下 输入shutdown -s -t + 时间参数试一下。

    评论
    解决 无用
    打赏 举报
  • jssmartstar 2017-11-08 01:27

    改成用ShellExecute调用shutdown.exe就可以了,不要用system
    ShellExecute(NULL, NULL, "C:\Windows\System32\Shutdown.exe", "-s -t 0", NULL, SW_SHOWNORMAL);

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题