C语言写定时关机重启小程序
C语言(关机小程序)
C语⾔(关机⼩程序)关机⼩程序利⽤system写出且复习借鉴于⽼九学堂C语⾔笔记:1 #include<stdio.h>2 #include<stdlib.h>3 #include<string.h>4int print()5 {6 printf("++++++关机⼩程序+++++\n");7 printf("1、定时关机(10分钟以内),请注意需要保存的⽂件\n");8 printf("2、⽴即关闭计算机系统\n");9 printf("3、注销系统\n");10 printf("0、推出程序\n");11return0;12 }13void main()14 {15 system("title C语⾔关机程序");16 system("mode con cols=48 lines=25");17 system("color 72");18 system("date /T");19 system("TIME /T");20char cmd[20]="shutdown -s -t";21char t[5]="0";22 print();23int choose;24 printf("请选择关机的选项:\n");25 scanf("%d",&choose);26 getchar();27switch(choose)28 {29case1:30 printf("输⼊⼏秒后关机,进⾏⾃动关机?(0~600秒)\n");31 scanf("%d",&t);32 system(strcat(cmd,t));33break;34case2:35 system("shutdown -p");36break;37case3:38 system("shutdown -1");39break;40case0:41break;42default:43 printf("选择错误\n");44 }45 system("pause");46 exit(0);47 }48 ```49希望⼤家能喜欢⼀起来进步学习。
c#实现关机,注销,重启源代码
Re:c#实现关机,注销,重启源代码另一份代码using System;using System.Drawing;using System.Collections;using ponentModel;using System.Windows.Forms;using System.Data;using System.Management;using System.Runtime.InteropServices; //加入此名字间是为了引用Windows API来实现关机namespace RebootComputer{public class Form1 : System.Windows.Forms.Form{//---------------这部分都是控件--------private System.Windows.Forms.Button Reboot;private System.Windows.Forms.Button ShutDown;private ponentModel.Container components = null;private System.Windows.Forms.Button Exit;//---------------------------------------------------------private ManagementObjectSearcher obj ;//-----------------程序初始化----------------public Form1(){InitializeComponent();}//-----------------------程序释放----------------------protected override void Dispose( bool disposing ){if( disposing ){if (components != null){components.Dispose();}}base.Dispose( disposing );}//-------------------------初始化----------------------private void InitializeComponent(){this.Reboot = new System.Windows.Forms.Button();this.ShutDown = new System.Windows.Forms.Button();this.Exit = new System.Windows.Forms.Button();this.SuspendLayout();//// Reboot//this.Reboot.Location = new System.Drawing.Point(16, 16); = "Reboot";this.Reboot.TabIndex = 0;this.Reboot.Text = "重启";this.Reboot.Click += new System.EventHandler(this.Reboot_Click);//// ShutDown//this.ShutDown.Location = new System.Drawing.Point(112, 16); = "ShutDown";this.ShutDown.TabIndex = 1;this.ShutDown.Text = "关机";this.ShutDown.Click += new System.EventHandler(this.ShutDown_Click);//// Exit//this.Exit.Location = new System.Drawing.Point(216, 16); = "Exit";this.Exit.TabIndex = 2;this.Exit.Text = "退出";this.Exit.Click += new System.EventHandler(this.Exit_Click);//// Form1//this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);this.ClientSize = new System.Drawing.Size(304, 53);this.Controls.Add(this.Exit);this.Controls.Add(this.ShutDown);this.Controls.Add(this.Reboot); = "Form1";this.Text = "重启、关机";this.ResumeLayout(false);//-----------------主函数,没有此函数可运行不了哦----------[STAThread]static void Main(){Application.Run(new Form1());}//--------------------重启部分程序private void Reboot_Click(object sender, System.EventArgs e){obj = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");foreach(ManagementObject oc in obj.Get()){DialogResult result = MessageBox.Show("Are you sure want to reboot?","Confirm",MessageBoxB uttons.OKCancel,rmation);//这里为确定用户是否点击“确定”按钮if(DialogResult.OK == result){oc.InvokeMethod("Reboot",null);//点击“确定”按钮后就调用此方法重启机器}}}//---------------关机部分程序------------------------private void ShutDown_Click(object sender, System.EventArgs e){if(DialogResult.OK == MessageBox.Show("Are you sure want to Shut Down?","Confirm",MessageB oxButtons.OKCancel,rmation)) //同上{//主要调用系统API来实现ExitWindowsEx(1,0);}}//这里的[DllImport("user32.dll")]是.net里属性的表达方法,DllImport为引用系统API所在的库" user32.dll"[DllImport("user32.dll")]//主要API是这个,注意:必须声明为static externprivate static extern int ExitWindowsEx(int x,int y);//这个是退出按钮的实现,即实现程序的退出private void Exit_Click(object sender, System.EventArgs e){Application.Exit();}}}c#实现关机,注销,重启源代码一. 设计关闭Windows窗体1. 界面的设计新建一个标准工程,向工程中增加一个Windows窗体并向窗体中添加如下控件,并分别设置其属性:控件名类别 Text 控件名类别TextCheckBox1 CheckBox 自动关机GroupBox1 GroupBox 当前系统时间CheckBox1 CheckBox 倒计时执行操作 GroupBox2 GroupBox 设定时间CheckBox1 CheckBox 定时报警 TxtTime TextBoxButCancle Button 取消 SetupTime DateTimePickerButReOpen Button 重新启动 SetupDate DateTimePickerButClose Button 关机Timer1 Timer 100ButSysInto Button 系统信息 ButReLogin Button 注消Windows窗体界面:将窗体属性中的caption设置为"关闭windows",名称设置为"frmmain"。
c语言自动关机程序代码
c语言自动关机程序代码
1.#include<stdlib.h>和#include<stdio.h>分别是C标准库文件,分别包含了系统函数和输入输出函数。
2. #include <windows.h> 是Windows API的头文件,包含了系统调用的函数和数据类型。
3. int main() 是程序的入口函数。
4. int delay; 定义了一个整型变量 delay。
5. printf('请输入关机延迟时间(单位:秒):'); 输出提示信息,让用户输入延迟时间。
6. scanf('%d', &delay); 从键盘读入一个整数,存放在变量delay 中。
7. printf('%d秒后将自动关机!', delay); 输出提示信息,告诉用户将在多少秒后关机。
8. Sleep(delay * 1000); 延迟指定的时间,此处单位为毫秒,需要将秒转换为毫秒。
9. system('shutdown -s -t 0'); 调用系统命令,执行关机操作。
其中,-s 表示关机,-t 0 表示立即关机。
10. return 0; 结束程序。
- 1 -。
c#实现强制关机、重启和注销
c#实现强制关机、重启、注销c#编程 2011-06-12 10:18:25 阅读0 评论0字号:大中小订阅//case "关闭计算机"://自动关闭主窗口,不需要密码,-f参数是强制执行Gloaljt.Isaq = false;System.Diagnostics.Process myProcess = newSystem.Diagnostics.Process();myProcess.StartInfo.FileName = "cmd.exe";eShellExecute = false;myProcess.StartInfo.RedirectStandardInput = true;myProcess.StartInfo.RedirectStandardOutput = true;myProcess.StartInfo.RedirectStandardError = true;myProcess.StartInfo.CreateNoWindow = true;myProcess.Start();myProcess.StandardInput.WriteLine("shutdown -s -f -t 0");// break;// case "重启计算机"://自动关闭主窗口,不需要密码Gloaljt.Isaq = false;System.Diagnostics.Process myProcesscq = new System.Diagnostics.Process();myProcesscq.StartInfo.FileName = "cmd.exe";eShellExecute = false;myProcesscq.StartInfo.RedirectStandardInput = true;myProcesscq.StartInfo.RedirectStandardOutput = true;myProcesscq.StartInfo.RedirectStandardError = true;myProcesscq.StartInfo.CreateNoWindow = true;myProcesscq.Start();myProcesscq.StandardInput.WriteLine("shutdown -r -f -t 0");break;// case "注销用户名"://注销用户,强制关闭程序Gloaljt.Isaq = false;System.Diagnostics.Process myProcesszx = new System.Diagnostics.Process();myProcesszx.StartInfo.FileName = "cmd.exe";eShellExecute = false;myProcesszx.StartInfo.RedirectStandardInput = true;myProcesszx.StartInfo.RedirectStandardOutput = true;myProcesszx.StartInfo.RedirectStandardError = true;myProcesszx.StartInfo.CreateNoWindow = true;myProcesszx.Start();myProcesszx.StandardInput.WriteLine("shutdown -l -f");// break;。
在C#中运用API函数编写多功能关机程序.doc
我用visual C#来编写一个多功能的关机程序。
该程序具有:定时关机、倒计时关机、关机 提醒、系统信息获取等四项功能,可设宦关机时间精确到秒。
并且让你很快掌握Visual C#H' 对API 的操作程序。
编写过程如下: 一、设计关闭Windows 窗体1 •界面的设计:新建一个标准工程,向工程中增加一个Windows 窗体并向窗体中添加如下控件,并分别 设置其属性:控件名类别 Text 控件名类别 TextCheckBox 0动关机 GixwpBox 1 GroupBox 当前系统时间 CheckBox 倒计时执行操作 GroupBox2 GroupBox 设定时间 CheckBox 定时报警 TxtTime TextBoxB utCancle B utton 取消 SetupTime DateTimePicker ButReOpen Button 重新启动 SetupDate DateTimePickerButClose Button 关机 Timer 1 Timer 100ButSyslnto Button 系统信息 ButReLogin BuMon 注消Windows 窗体界面:将窗体属性中的caption 设置为“关闭windows”,名称设置为'Trmmain^o2. 在窗体类屮引用APl|函数API 两数是构筑Windows 应用程序的基石,是Windows 编程的必备利器。
每一种 Windows 应用程序开发工具都提供了间接或直接调用了 Windows API 〔函数的方法,或者是 调用Windows API I®数的接口,也就是说具备调用动态连接库的能力。
VisualC#和其它开 发工具一样也能够调用动态链接库的API 函数。
在Visual C#中调用APl|的基本过程:首先,在调用APl|Z 前,你必须先导入System.Runtime.InteropServices 这个名称空间。
VC++ 实现定时关机或休眠-MFC 对话框应用程序介绍文档
// DDX/DDV support
BEGIN_MESSAGE_MAP(CAboutDlg, CDialog) END_MESSAGE_MAP() // CTimePowerOffDlg dialog //以离关机时间多长为主 CTimePowerOffDlg::CTimePowerOffDlg(CWnd* pParent /*=NULL*/)
// CTimePowerOffDlg message handlers
BOOL CTimePowerOffDlg::OnInitDialog() {
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
// IDM_ABOUTBOX must be in the system command range. ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000);
图 1 对话框界面
图 2 界面标注
————福哥之路(SelF Code) ————
TimePowerOffDlg.cpp 的整个文件如下:
// TimePowerOffDlg.cpp : implementation file #include "stdafx.h" #include "TimePowerOff.h" #include "TimePowerOffDlg.h" #ifdef _DEBUG #define new DEBUG_NEW #endif #define MYWM_NOTIFYICON WM_USER+1
c语言中控制关机代码
C语言中命令如下:
重启
#include <stdlib.h>
main()
{
system("shutdown /r");
}
关机
#include <stdlib.h>
main()
{
system("shutdown /s");
}
XP系统下
else if (!ExitWindowsEx(EWX_POWEROFF, 0))
if(!ExitWindowsEx(EWX_POWEROFF|EWX_FORCE, 0))
return FALSE;
return TRUE;
}
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-l 注销(不能与选项 -m 一起使用)
-s 关闭此计算机
-r 关闭并重启动此计算机
-a 放弃系统关机
-m \\computername 远程计算机关机/重启动/放弃
c语言实现远程关机代码
case 5:system("shutdown -h -f");break;
case 6:
{
printf("输入远程计算机的IP或计算机名称:");
scanf("%s",mb);
system(strcat(p,mb));
break;
}
void main()
{
char cmd[20]="shutdown -s -t";
char t[5]="0",mb[16]="0";
char p[30]="shutdown -r -m ";
char q[40]="shutdown -s -m ";
int c;
system("title关机软件");//设置cmd窗口标题
}
case 7:
{
printf("输入要关闭的远程计算机名称或IP地址:");
scanf("%s",mb);
system(strcat(q,mb));
break;
}
case 8:break;
default:printf("Error!\n");
}
system("pause");
exit(0);
}
switch(c)
{
case 1:
{
printf("您想在多少秒后自动关闭计算机?(0~600)\n");
scanf("%s",t);
VC控制台实现+Windows关机、重启、注销
//使能关机特权函数
BOOL EnableShutdownPrivilege()
{
HANDLE hProcess = NULL;
HANDLE hToken = NULL;
LUID uID = {0};
TOKEN_PRIVILEGES stToken_Privileges = {0};
EnableShutdownPrivilege(); //使能关机特权函数
if(bForce)
return ::ExitWindowsEx(EWX_REBOOT | EWX_FORCE,0); //强制重启
else
return ::ExitWindowsEx(EWX_REBOOT,0);
}
hProcess = ::GetCurrentProcess(); //获取当前应用程序进程句柄
if(!::OpenProcessToken(hProcess,TOKEN_ADJUST_PRIVILEGES,&hToken)) //打开当前进程的访问令牌句柄(OpenProcessToken函数调用失败返回值为零)
if(::GetLastError() != ERROR_SUCCESS) //查看权限是否调整成功
return FALSE;
::CloseHandle(hToken);
return TRUE;
}
//关机函数
BOOL Shutdown(BOOL bForce)
{
EnableShutdownPrivilege(); //使能关机特权函数
stToken_Privileges.PrivilegeCount = 1; //欲调整的权限个数
C语言写定时关机重启小程序
print_top();
scanf("%d",&num);
while( num !=1 && num !=2 )
{
printf("输入序号错误,请重新输入:");
scanf("%d",&num);
}
if ( num == 1 )
{
}
seconds = minutes * 60; //将输入的分钟转化为秒
itoa(seconds, string_seconds, 10); //将int型转换成string型10代表的十进制
system(strcat(close,string_seconds));//stract函数拼接字符串
printf("执行成功! %d分钟后,电脑将自动关闭...\n\n",minutes);
printf("请选择序号:");
}
void print_end()
{
printf("******************************************************\n");
printf("\n 1、退出2、取消本次定时\n\n");
printf("******************************************************\n\n");
printf("请选择序号:");
}
void judge_num_end(int n)
C语言定时关机代码
int wei()
{
puts("\n\n\n\n\n\n\n\n\n-----------------------------made by moonerp----------------------------------\n");
return 0;
}
int main(int argc, char *argv[])
{
system("title \t自动关机小助手");
system("color 0A");
system("mode con cols=80 lines=26");//窗口宽度高度
A:
tou();
char str0[20]={"at "};
char str1[20];
char str2[20]={":");
puts("\n\n-----------------------------自动关机小助手-----------------------------------\n");
system("date /T");
system("TIME /T");
return 0;
puts("\n\n\n\n\n\n\n\n\n-----------------------------made by moonerp----------------------------------");
scanf("%d",&h);
scanf("%d",&m);
tou();
c_自动关机代码
c#自动关机代码public class ShutDown{[StructLayout(LayoutKind.Sequential, Pack = 1)]internal struct TokPriv1Luid{public int Count;public long Luid;public int Attr;}[DllImport("kernel32.dll", ExactSpelling = true)]internal static extern IntPtr GetCurrentProcess();[DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]internal static extern bool OpenProcessToken(IntPtr h, int ac c, ref IntPtr phtok);[DllImport("advapi32.dll", SetLastError = true)]internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid);[DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall,ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr rele n);[DllImport("user32.dll", ExactSpelling = true, SetLastError = true)]internal static extern bool ExitWindowsEx(int flg, int rea);internal const int SE_PRIVILEGE_ENABLED = 0x00000002;internal const int TOKEN_QUERY = 0x00000008;internal const int TOKEN_ADJUST_PRIVILEGES = 0x0000002 0;internal const string SE_SHUTDOWN_NAME = "SeShutdownP rivilege";internal const int EWX_LOGOFF = 0x00000000;internal const int EWX_SHUTDOWN = 0x00000001;internal const int EWX_REBOOT = 0x00000002;internal const int EWX_FORCE = 0x00000004;internal const int EWX_POWEROFF = 0x00000008;internal const int EWX_FORCEIFHUNG = 0x00000010;public static void DoExitWin(int flg){bool ok;TokPriv1Luid tp;IntPtr hproc = GetCurrentProcess();IntPtr htok = IntPtr.Zero;ok = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEG ES | TOKEN_QUERY, ref htok);tp.Count = 1;tp.Luid = 0;tp.Attr = SE_PRIVILEGE_ENABLED;ok = LookupPrivilegeValue(null, SE_SHUTDOWN_NAME, r ef tp.Luid);ok = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Z ero, IntPtr.Zero);ok = ExitWindowsEx(flg, 0);}}static void Main(string[] args){Console.WriteLine("正在关机……");// 修改EWX_SHUTDOWN 或者EWX_LOGOFF, EWX_REBO OT等实现不同得功能。
定时关机小程序C#源代码
using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Diagnostics;namespace ShutDownComputer{public partial class MainForm : Form{public MainForm(){InitializeComponent();t.Interval = 1000;t.Tick+=new EventHandler(t_Tick);t.Start();}Timer t = new Timer();void t_Tick(object sender, EventArgs e){labelNowTime.Text = DateTime.Now.ToString();}[DllImport("user32.dll", EntryPoint = "ExitWindowsEx", CharSet = CharSet.Ansi)]private static extern int ExitWindowsEx(int uFlags,int dwReserved);private void注销ToolStripMenuItem_Click(object sender, EventArgs e){ExitWindowsEx(0,0);}//定义关机方法private void ShutDown(){Process myProcess = new Process();myProcess.StartInfo.FileName = "cmd.exe";eShellExecute = false;myProcess.StartInfo.RedirectStandardInput = true;myProcess.StartInfo.RedirectStandardOutput = true;myProcess.StartInfo.RedirectStandardError = true;myProcess.StartInfo.CreateNoWindow = true;myProcess.Start(); //启动进程myProcess.StandardInput.WriteLine("shutdown -s -t 0");}//定义最小化方法private void HideMainForm(){this.Hide();}//定义显示方法private void ShowMainForm()this.Show();this.WindowState = FormWindowState.Normal;this.Activate();}private void关机ToolStripMenuItem_Click(object sender, EventArgs e){ShutDown();//调用关机方法}private void关机重启ToolStripMenuItem_Click(object sender, EventArgs e) {Process myProcess = new Process();myProcess.StartInfo.FileName = "cmd.exe";eShellExecute = false;myProcess.StartInfo.RedirectStandardInput = true;myProcess.StartInfo.RedirectStandardOutput = true;myProcess.StartInfo.RedirectStandardError = true;myProcess.StartInfo.CreateNoWindow = true;myProcess.Start();myProcess.StandardInput.WriteLine("shutdown -r -t 0");}private void退出程序ToolStripMenuItem1_Click(object sender, EventArgs e) {this.Close();Application.Exit();}private void重新设定ToolStripMenuItem_Click(object sender, EventArgs e) {numericUpDownHour.Value = 1;numericUpDownMinute.Value = 1;numericUpDownSecond.Value = 30;numericUpDownHour.Focus();timer.Stop();}private void计时开始ToolStripMenuItem_Click(object sender, EventArgs e) {timer.Interval = 1000;timer.Tick += new EventHandler(timer_Tick);timer.Start();HideMainForm();}Timer timer = new Timer();void timer_Tick(object sender, EventArgs e){if (numericUpDownSecond.Value == 0){if (numericUpDownMinute.Value == 0){if (numericUpDownHour.Value == 0){timer.Stop();ShutDown();}else{numericUpDownHour.Value--;numericUpDownMinute.Value = 60;}}else{numericUpDownMinute.Value--;numericUpDownSecond.Value = 59;}}else{numericUpDownSecond.Value--;}}private void版本信息ToolStripMenuItem_Click(object sender, EventArgs e){MessageBox.Show("软件名称:定时关机工具\n开发环境:Microsoft Visual Studio 2010\n版本号:H4GRG68X82 (*^__^*)……");}private void隐藏窗体ToolStripMenuItem_Click(object sender, EventArgs e){HideMainForm();}private void notifyIcon_MouseDoubleClick(object sender, MouseEventArgs e){if (this.WindowState == FormWindowState.Normal){this.WindowState = FormWindowState.Minimized;HideMainForm();}else if (this.WindowState == FormWindowState.Minimized){ShowMainForm();}}//点击最小化按钮时,最小化到托盘private void MainForm_SizeChanged(object sender, EventArgs e){if (this.WindowState == FormWindowState.Minimized){HideMainForm();}}//以下是为NotifyIcon控件添加的ContextMenuStrip控件的右键按钮事件private void menuItem_Show_Click(object sender, EventArgs e){ShowMainForm();}private void menuItem_Hide_Click(object sender, EventArgs e){HideMainForm();}private void menuItem_Exit_Click(object sender, EventArgs e){this.notifyIcon.Visible = false;this.Close();Application.Exit();}}}附上运行界面。
C#定时每天00点00分00秒自动重启软件
C#定时每天00点00分00秒⾃动重启软件本⽂实例为⼤家分享了C#定时每天⾃动重启软件的具体代码,供⼤家参考,具体内容如下1、添加Timer控件,这个控件可以显⽰倒计时功能2、Timer控件的Tick事件代码:private void timerDownCount_Tick(object sender, EventArgs e){string dateDiff = null;//获取当前时间DateTime DateTime1 = DateTime.Now;//第⼆天的00点00分00秒DateTime DateTime2 = DateTime.Now.AddDays(1).Date;//计算两个时间相差多少秒int sec = (int)DateTime2.Subtract(DateTime1).TotalSeconds;if (sec == 0){//延迟1秒执⾏(为什么要延迟?如果不延迟,重启的瞬间两个时间差依然还是0,就会再次触发重启)Thread.Sleep(1000);//--------------重启软件 start---------------//开启新的实例Process.Start(Application.ExecutablePath);//关闭当前实例Process.GetCurrentProcess().Kill();//--------------重启软件 end-----------------}if (sec < 0){this.timerDownCount.Stop();}else{//把2个时间转成TimeSpan,⽅便计算TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);//时间⽐较,得出差值TimeSpan ts = ts1.Subtract(ts2).Duration();//结果dateDiff = ts.Hours.ToString() + "⼩时" + ts.Minutes.ToString() + "分钟" + ts.Seconds.ToString() + "秒";bDownCount.Text = dateDiff;}}以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
C语言写的简单的定时关机程序
C语言写的简单的定时关机程序
写一个定时关机的小程序,可以立即关闭计算机,也可以一段时间后关闭计算机。
这里主要考察system()命令。
代码实现:这个程序虽然实用价值不大,但是可以让我们了解system() 函数。
在Windows下,system() 函数可以执行dos 命令;在Unix/Linux 中,可以执行Shell。
请在Windows下运行上面的程序。
程序中对dos界面的设置和关机功能都是通过dos命令实现的。
喜欢的朋友可以关注转发一下咱们的文章,想学习的小伙伴也可以用进群一起学习!群号:565122788快捷通道:点击左下角的【原文阅读】哦~~。
批处理实现定时关机与定时启动程序
最佳答案@echo offmode con cols=80 lines=20title 定时关机color 01::以上为设置CMD 窗口宽cols&高lines 、标题、背景色&前景色clsecho.echo.echo.echo.echo时间使用24小时制(如2:15、17:30),可以输入多个时间点echo.echo多个时间点用空格分隔 echo.echo.echo ..................................................... set times=set /p times= 请输入关机时间: ::以下语句实现每个星期的每一天指定时间关机::如果要换成每个月的某几天,请改字母为数字,并用逗号分隔::以下代码没有错误检测语句,输入时间的时候务必按照指定格式输入::可以用在CMD 窗口用at 命令来查看计划任务::如要取消关机任务,请在出现倒数计时时在运行窗口中输入:shutdown -a or CMD 窗口输入:at/deleteif not "%times%"=="" for %%i in (%times%) do (at %%i /every:M,T,W,Th,F,S,Su shutdown -s -t 20) shutdown HelpC:\Documents and Settings\Administrator>shutdown/?用法:shutdown [-i | -l | -s | -r | -a] [-f] [-m Wcomputername] [-t xx] [-c "co怎样用批处理进行定时关机 屋悬赏分:0 -解决时间: 2007-7-11 08:09提问者: mitacmianj -mment"] [-d up:xx:yy] 没有参数-i -l -s -r -a -m \\computername -t xx -c "comment" -f显示此消息(与?相同) 显示GUI 界面,必须是第一个选项 注销(不能与选项-m —起使用) 关闭此计算机 关闭并重启动此计算机放弃系统关机远程计算机关机/重启动/放弃设置关闭的超时为 xx 秒关闭注释(最大127个字符)强制运行的应用程序关闭而没有警告-d [u][p]:xx:yy 关闭原因代码u 是用户代码p 是一个计划的关闭代码xx 是一个主要原因代码(小于 256 的正整数)yy 是一个次要原因代码(小于 65536 的正整数)@ECHO off TITLE 自动关机程序作者: 廖晓青:startCLSCOLOR 1frem使用COLO命令对控制台输出颜色进行更改MODE con: COLS=41 LINES=18rem MOD语句为设定窗体的宽和高set tm1=%time:~0,2%set tm2=%time:~3,2%set tm3=%time:~6,2%ECHO %date% %tm1%%tm2分%tm3秒ECHO =========================================ECHO请选择要进行的操作,然后按回车ECHO ------------------------------ECHO.ECHO 1. 定时关机ECHO 2. 倒计时关机ECHO 3. 删除定时关机任务ECHO 4. 查看任务状态ECHO 5. 刷新当前时间ECHO 6. 重新启动ECHO 7. 锁定计算机ECHO 8. 注销ECHO 9. 退出ECHO.:choSET Choice=SET /P Choice= 选择:rem 设定变量 "Choice"为用户输入的字符IF NOT "%Choice%"=="" SET Choice=%Choice:~0,1%rem 如果输入大于 1位, 取第 1位, 比如输入 132,则返回值为 1 ECHO.IF /I "%Choice%"=="1" GOTO SetHourIF /I "%Choice%"=="2" GOTO outtimeIF /I "%Choice%"=="3" GOTO delAtIF /I "%Choice%"=="4" GOTO viewIF /I "%Choice%"=="5" GOTO startIF /I "%Choice%"=="6" GOTO restartIF /I "%Choice%"=="7" GOTO lockIF /I "%Choice%"=="8" GOTO logoffIF /I "%Choice%"=="9" GOTO endrem 为避免出现返回值为空或含空格而导致程序异常, 需在变量外另加双引号rem 注意 ,IF 语句需要双等于号rem 如果输入的字符不是以上数字 , 将返回重新输入ECHO选择无效,请重新输入ECHO.GOTO cho:SetHourCLSECHO.SET ask=SET /p ask= 是否设定为每天执行关机命令 (y/n):IF NOT "%ask%"=="" SET ask=%ask:~0,1%IF /I "%ask%"=="y" GOTO yesIF /I "%ask%"=="n" GOTO noGOTO SetHour:yesECHO请指定24小时制式时间,格式为小时:分钟SET shutdowntime=SET /p shutdowntime= 输入:at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0/powerdown >nulrem 设定为每周的星期一至星期日 , 即为每天IF NOT errorlevel 1 GOTO okrem 如果输入正确 , 就执行 ok 段的语句ECHO %shutdowntime%不是标准的时间格式,请重新输入ECHO.GOTO yes:noECHO请指定24小时制式时间,格式为小时:分钟SET shutdowntime=SET /p shutdowntime= 输入:at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nulIF NOT errorlevel 1 GOTO okECHO %shutdowntime%不是标准的时间格式,请重新输入ECHO.GOTO no:okECHO.SET h=%shutdowntime:~1,1%SET ah=%shutdowntime:~0,1%SET am=%shutdowntime:~2,2%SET bh=%shutdowntime:~0,2%SET bm=%shutdowntime:~3,2%IF "%h%"==":"(SET HM=%ah%%am分) ELSE (SET HM=%bh%%bm分)rem 如果输入h:mm贝U HM=hM mm分,否则HM=hh寸mm分IF /I "%ask%"=="y" ECHO 系统将于每天的%HM%闭IF /I "%ask%"=="n" ECHO 系统将于%HM%闭ECHO设定完毕!按任意键继续…PAUSE >nulGOTO start:outtimeCLSECHO.ECHO青输入倒计时秒数ECHO ----------------ECHO (设定后要取消 , 单击"确定"后按 Ctrl+C 键两次)SET timed=SET /p timed= 输入:tsshutdn %timed% /delay:0 /powerdown >nulIF not errorlevel 1 GOTO okECHO %timed%!无效的关机时间,请重新输入ECHO.GOTO outtime:delAtclsecho.at /del /yecho 定时关机任务已取消 , 按任意键继续 ...pause >nulGOTO start:viewMODE con: COLS=85 LINES=18COLOR 70ECHO.atECHO按任意键继续…PAUSE >nulGOTO start:restartshutdown -r -t 0:lockrundll32.exe user32.dll,LockWorkStationgotostart :logofflogoff:end exit经典批处理实现定时关机如何用批处理,建立定时关机和定时启动程序在规定时间强制关机为让你的孩子每天能正常休息,我们把关机时间设为晚上10点。
C#调用API实现定时关机
C#调用API实现定时关机这两天用C#写了个用于定时关机的小程序,该简单程序由两个层次构成,即底层逻辑和用户界面两部分。
怕忘了当中一些细节,于是把它记录下来。
一、程序逻辑设计——API调用事实上,可以直接调用系统的shutdown.exe来实现计算机的关闭、重启和用户注销。
常见的用法如下:using System.Dinogistics;//引用该空间按钮click事件System.Dinogistics.Process p = new Process();p.StartInfo.FileName = "cmd.exe";eShellExecute = false;p.StartInfo.RedirectStandardInput = true;p.StartInfo.RedirectStandardOutput = true;p.StartInfo.CreateNoWindow =true;p.Start();p.StandardInput.WriteLine("shutdown -s -t 0");p.StandardInput.WriteLine("exit");p.close();但这里,我用了调用API的方法,用于系统的关闭与重启,并将参考网络的一些API调用封装成一个类库——SystemControl.dll。
下面,调用user32.dll中的关机方法,该方法是本程序的关键。
[DllImport("user32.dll", EntryPoint = "ExitWindowsEx", CharSet = CharSet.Ansi)]private static extern int ExitWindowsEx(int uFlags, int dwReserved);对上述函数进行封装,使其更易懂,可得:protected static void ExitWindows(int how, bool force){EnableToken("SeShutdownPrivilege");if (force)how = how | EWX_FORCE;if (ExitWindowsEx(how, 0) == 0)throw newPrivilegeException(FormatError(Marshal.GetLastWin32Error()));}其中EnableToken用于使能优先级令牌,PrivilegeException是定义的优先级异常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在这里做个广告,自学C语言,多谢有鱼C论坛教学视频的帮助。这里没有其他的意思,只是觉得不错,所以推荐给大家。网址/。
printf("输入时间错误,请重新输入:");
scanf("%d",&minutes);
printf("\n");
}
seconds = minutes * 60; //将输入的分钟转化为秒
itoa(seconds, string_seconds, 10); //将int型转换成string型10代表的十进制
char result[] = "shutdown -r -t 0";
print_top();
scanf("%d",&num);
while( num !=1 && num !=2 )
{
printf("输入序号错误,请重新输入:");
scanf("%d",&num);
}
if ( num == 1 )
{
void print_top();
void print_end();
void judge_num_end(int n);
void main()
{
int num,num_end;
int seconds, minutes;
char string_seconds[5];
char close[] = "shutdown -s -t 0"; //shutdown为系统命令
printf("请及时保存相关的操作!关机计时中...\n\n");
}
if( num == 2 )
{
printf("请输入重启时间(0~600分):");
scanf("%d",&minutes);
printf("\n");
while ( minutes < 0 || minutes > 600 )
{
printf("\n请输入关机时间(0~600分):");
scanf("%d",&minutes);
printf("\n");
while ( minutes < 0 || minutes > 600 )
{
printf("输入时间错误,请重新输入:");
scanf("%d",&minutes);
printf("\n");
}
seconds = minutes * 60; //将输入的分钟转化为秒
itoa(seconds, string_seconds, 10); //将int型转换成string型10代表的十进制
system(strcat(close,string_seconds));//stract函数拼接字符串
printf("执行成功! %d分钟后,电脑将自动关闭...\n\n",minutes);
printf("请选择序号:");
}
void judge_num_end(int n)
{
if(n == 1) exit(1);
if(n == 2) system("shutdown -a");
}
while( num_end !=1 && num_end !=2 )
{
printf("输入序号错误,请重新输入:");
scanf("%d",&num_end);
}
judge_num_end(num_end);
system("pause"); //暂停屏幕
}
void print_top()
{
printf("\n");
printf("请选择序号:");
}
void print_end()
{
printf("******************************************************\n");
printf("\n 1、退出2、取消本次定时\n\n");
printf("******************************************************\n\n");
printf("*******************欢迎使用定时程序!******************\n");
printf("\n 1、定时关机2、定时重启\n\n");
printf("******************************************************\n\n");
system(strcat(result,string_seconds));//stract函数拼接字符串
printf("执行成功! %d分钟后,电脑将自动重启...\n\n",minutes);
printf("请及时保存相关的操作!重启计时中...\n\n");
}
print_end();
scanf("%d",&num_end);
才疏学浅,程序有不好的地方,还请高手给个建议,改的更高效bibliotek注意:网上有很多此类的小程序,如果思路相同,纯属巧合。编写软件为VC++6.0英文版。
源码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>