一个定时关机的程序
代码如下:#include "stdafx.h"
#include <windows.h>
#include <windowsx.h>
#include "resource.h"
#include "MainDlg.h"
#include "stdlib.h"
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
switch(uMsg)
{
HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
}
return FALSE;
}
void CALLBACK myclock(HWND hwnd,UINT Message,UINT iTimerID,DWORD dwTime)
{
SYSTEMTIME now;
GetLocalTime(&now);
TCHAR time;
wsprintf(time,"%d年%d月%d日%d:%d:%d",now.wYear,now.wMonth,now.wDay,now.wHour,now.wMinute,now.wSecond);
SetDlgItemText(hwnd,IDC_EDITTIME,time);
}
BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
SetTimer(hwnd,0,1000,myclock);
return TRUE;
}
void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
switch(id)
{
case IDC_BUTTON1:
{
TCHAR timeshut;
GetDlgItemText(hwnd,IDC_EDIT2,timeshut,sizeof(timeshut));
int timeshut1=atoi(timeshut);
system("shutdown -s -t timeshut1");
}break;
case IDC_BUTTON2:
{
system("shutdown -a");
}break;
default:
break;
}
}
void Main_OnClose(HWND hwnd)
{
EndDialog(hwnd, 0);
}
我编译运行后在N秒后框框里写数字再设定,他会闪个DOS窗口然后没了,我又在timeshut1的位置写成timeshut字符型的,还是不行.
我把程序里的timeshut1直接改成数字,例如50,60的就可以了,
取消的功能是可以的.
我想问下要怎么修改啊
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int print()
{
printf(" ╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");
printf("╔═══╧╧ C语言 关机程序 ╧╧═══╗\n");
printf("║※1.实现10分钟内的定时关闭计算机 ║\n");
printf("║※2.立即关闭计算机 ║\n");
printf("║※3.注销计算机 ║\n");
printf("║※0.退出系统 ║\n");
printf("╚═══════════════════╝\n");
return 0;
}
int main()
{
int c;
system("title C语言关机程序");//设置cmd窗口标题
system("mode con cols=48 lines=25");//窗口宽度高度
system("color 0B");
system("date /T");
system("TIME /T");
char cmd="shutdown -s -t ";
char t="0";
print();
scanf("%d",&c);
getchar();
switch(c)
{
case 1:printf("您想在多少秒后自动关闭计算机?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;
case 2:system("shutdown -p");break;
case 3:system("shutdown -l");break;
case 0:break;
default:printf("Error!\n");
}
system("pause");
exit(0);
return 0;
}参考下~
system("shutdown -s -t timeshut1");// timeshut1 是string 类型。
小甲鱼 发表于 2012-7-14 15:44 static/image/common/back.gif
system("shutdown -s -t timeshut1");
那timeshut1这个位置要用什么类型的呢 Step. 发表于 2012-7-14 15:46 static/image/common/back.gif
system("shutdown -s -t timeshut1");
那timeshut1这个位置要用什么类型的呢
哇塞,斌少你自己写的吗? 同样字符串就行。 好长啊。。。 还看不懂呢- - 小甲鱼 发表于 2012-7-14 15:49 static/image/common/back.gif
同样字符串就行。
那为什么我改成timeshut不行啊 肥猫控 发表于 2012-7-14 15:49 static/image/common/back.gif
哇塞,斌少你自己写的吗?
你是谁啊?崔一品? 因为双引号里边是字符串的内容,编译器并不认为那是一个变量~ 小甲鱼 发表于 2012-7-14 16:04 static/image/common/back.gif
因为双引号里边是字符串的内容,编译器并不认为那是一个变量~
那我要怎么改呢?初学者不太会呵呵 {:5_92:}观看下 小甲鱼 发表于 2012-7-14 15:32 static/image/common/back.gif
参考下~
╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪ 这些符号怎么打的我键盘咋找不到0.0{:5_94:} Step. 发表于 2012-7-14 16:09 static/image/common/back.gif
那我要怎么改呢?初学者不太会呵呵
int timeshut1=atoi(timeshut);
sprintf(szcmd,"shutdown -s -t%d",timeshut1)
system(szcmd);
Step. 发表于 2012-7-14 15:46
system("shutdown -s -t timeshut1");
那timeshut1这个位置要用什么类型的呢
整整数即可,超过86400(1日对应秒数)可能会坏。(挖坟
页:
[1]