关机重启代码(整合篇)

合集下载

android 如何实现代码关机

android 如何实现代码关机

android 如何实现代码关机开始从网上搜索,通过发action的方式实现,不过一直没有成功。

Intent intent = new Intent();intent.setAction(Intent.ACTION_SHUTDOWN);sendBroadcast(intent);加权限<uses-permissionandroid:name="android.permission.SHUTDOWN"tools:ignore="ProtectedPermissions" />若有成功的同学,希望留言相告,谢谢。

这里介绍我自己的方法。

1. power服务实现了关机功能framework/base/services/java/com/android/server/power/PowerManagerService.java/*** Shuts down the device.** @param confirm If true, shows a shutdown confirmation dialog.* @param wait If true, this call waits for the shutdown to complete and does not return. */@Override // Binder callpublic void shutdown(boolean confirm, boolean wait) {mContext.enforceCallingOrSelfPermission(android.Manifest.permission.REBOOT, null);final long ident = Binder.clearCallingIdentity();try {shutdownOrRebootInternal(true, confirm, null, wait);} finally {Binder.restoreCallingIdentity(ident);}}2. PowerManager提供了reboot等接口,没有提供shutdown接口。

cmd下shutdown命令详解

cmd下shutdown命令详解

cmd下shutdown命令详解(2010-06-15 16:44:59)转载标签:cmd shutdown 关机重启杂谈分类:计算机用cmd命令来关闭或重启电脑。

at 2:00 /every:Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday shutdown /r /t 0 每天早上2点自动重新启动服务器命令。

shutdown -r -t 0可以把上述语句用记事本写入,另存为reboot.cmd就可以了,扩展名是cmd别忘了。

r意思是从新启动t是时间单位是秒0就是0秒了,立即从新启动的把r换成s的话就是关机了,这样自己就可以设置自动关机时间看要设置多少秒就行设置了一定时间自动关机或者从新启动的话想取消只需要运行shutdown -a 就可以了先说下系统自带的关机指令,很多人应该已经知道了,就是shutdown,不带参数执行将会列出它的参数,常用参数为:/s 关闭计算机/r 关闭并重启动计算机/f 强制正在运行的应用程序关闭而不事先警告用户/t xxx 设置关闭前的超时为xxx 秒。

有效范围是0-600,默认为30另外,在倒计时过程输入shutdown /a可以取消关机或重启,不加/t参数执行则倒计时30秒。

一般需要立即关机可以这样写:(将/s参数换成/r参数就是立即重启)shutdown /f /s /t 0shutdown支持对远程计算机进行操作,需要使用/m参数,如:shutdown /f /s /m \\\\test在30秒后强制将局域网中名为test的计算机关闭再说下at指令,它的作用是计划在指定时间和日期在计算机上运行命令和程序。

在命令行下输入at /?将列出它的帮助信息,在“帮助和支持中心”里有更详细的解释及示例。

假设想实现晚上23:30自动关机,可以这么写:at 23:30 shutdown /f /s /t 0成功的话会有类似这样的信息回应:新加了一项作业,其作业ID = 1要取消这个定时关机的话,有两种方法方法一、命令行不带任何参数执行at,将会列出已经设定的内容,记下状态ID号,比如本例为1,然后输入:at 1 /delete也可以简写为:at 1 /d不加序列号使用/d参数将会删除所有设定的内容,如果想不经确认删除所有设定的内容,可用:at /d /y方法二、任务计划用at指令设定的定时执行指令可在“控制面板”的“任务计划”中看到,要取消的话删除就行了。

c#实现关机,注销,重启源代码

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"。

电脑重启bat代码是什么

电脑重启bat代码是什么

电脑重启bat代码是什么
使用电脑的时候,如果我们觉得电脑关机重启很麻烦,那么我们就可以用bat文档来代替关机,怎么做?下面店铺给大家讲解一下关于电脑重启bat代码的解决方法,希望大家喜欢!
电脑重启bat代码的解决方法
点击Windows﹢R键,输入shutdown -s 。

输完后点击回车。

将会出现“windows将在一分钟后关闭”的提示框。

输入代码shutdown -s -t 1800,1800代表1800s,可以自己定时五分钟就是300,以此类推,然后点击运行
取消关机
如果我们已经下达指令,但不想关机了,怎么办,点击Windows ﹢R键输入取消关机的代码:shutdown -a,运行就可以取消了如果觉得用每次打代码很麻烦,还可以利用bat文件进行定时关机。

新建一个文件夹,输入代码shutdown -s -t 1800,1800代表1800s,可以自己定时五分钟就是300,以此类推,点击保存。

然后将后缀改为bat就可以啦。

如果我们已经下达指令,
但不想关机了,怎么办,建一个取消关机的TXT文档,输入shutdown -a,点击保存,然后后缀改为bat双击运行就可以取消了点击Win﹢R键,输入 shutdown -r -t 0(其中r是重启的意思,t代表时间,0是0秒,我们可以根据自己的需要对时间进行更改,比如半个小时就是1800秒)。

也可以建一个bat文件
电脑重启bat代码。

在关机菜单中增加重启选项,完整详细

在关机菜单中增加重启选项,完整详细

1.反编译framework-res.apk2.找到values\strings.xml,打开很多人看不懂这个,行数不一定就是实际的行数,你只要前置代码搜索就可以添加代码:1. <string name="reboot_recovery">Recovery</string>2. <string name="reboot_download">Download</string>3. <string name="reboot">Reboot</string>复制代码3.保存所做的修改,以下都一样4.找到values\public.xml5.分配字符串id:拉到最后,查看最后一个字符串id例如:12041x5搜索12041x5,没有此ID的话添加代码:1. <public type="string" name="reboot_recovery" id="0x012041x5" />2. <public type="string" name="reboot_download" id="0x012041x6" />3. <public type="string" name="reboot" id="0x012041x7" />复制代码注:如果该id已有,就继续:12041x6。

你懂得6.在res\drawable-hdpi(mdpi || ldpi)加上图标例如:XH_rebot.pngXH_rec.pngXH_dl.png注:这里可以随意,只是写了自己喜欢的7.将图标和id相互关联:打开values\public.xml添加代码:1. <public type="drawable" name="XH_reboor" id="0x012041x5" />2. <public type="drawable" name="XH_rec" id="0x012041x6" />3. <public type="drawable" name="XH_dl" id="0x012041x7" />复制代码8.全部搞定,回编译framework-res文件夹9.反编译framework.jar(教程地址:点击前往)10.打开com\android\internal\app\ShutdownThread.smali11.找到第37行添加代码:1. .field public static mReboot:I12.到第1463行注:前一个代码应该是"invoke-static {}, Landroid/os/Power;->shutdown()V"添加代码:1. sget v1, Lcom/android/internal/app/ShutdownThread;->mReboot:I2. const/4 v2, 0x13. if-eq v1, v2, :reboot4. const/4 v2, 0x25. if-eq v1, v2, :rebootRecovery6. const/4 v2, 0x37. if-eq v1, v2, :rebootDownload复制代码13.找到第1477行添加代码:1. .line 5312. invoke-static {}, Landroid/os/Power;->shutdown()V3. .line 5324. return-void复制代码添加代码:1. :reboot2. const-string v4, "now"3. invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V4. return-void5. :rebootRecovery6. const-string v4, "recovery"7. invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V8. return-void9. :rebootDownload10. const-string v4, "download"11. invoke-static {v4}, Landroid/os/Power;->reboot(Ljava/lang/String;)V12. return-void复制代码14.回编译framework.jar(教程地址:点击前往)15.反编译android.policy.jar16.打开com\android\internal\policy\impl\GlobalActions.smali查找第431行代码:1. const/4 v0, 0x32. new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action; 复制代码修改为:1. const/4 v0, 0x62. new-array v0, v0, [Lcom/android/internal/policy/impl/GlobalActions$Action; 复制代码17.查找457行在"aput-object v2, v0, v1"之后添加代码:1. const/4 v1, 0x32. new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$7;3. const v3, 0x10803aa # reboot icon resource id4. const v4, 0x112041x7 # reboot string resource id5. invoke-direct {v2, p0, v3, v4},Lcom/android/internal/policy/impl/GlobalActions$7;-><init>(Lcom/android/internal/policy /impl/GlobalActions;II)V6. aput-object v2, v0, v17. const/4 v1, 0x48. new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$8;9. const v3, 0x10803ab # recovery icon resource id10. const v4, 0x112041x5 # recovery string resource id11. invoke-direct {v2, p0, v3, v4},Lcom/android/internal/policy/impl/GlobalActions$8;-><init>(Lcom/android/internal/policy /impl/GlobalActions;II)V12. aput-object v2, v0, v113. const/4 v1, 0x514. new-instance v2, Lcom/android/internal/policy/impl/GlobalActions$9;15. const v3, 0x10803ac # download icon resource id16. const v4, 0x112041x6 # download string resource id17. invoke-direct {v2, p0, v3, v4},Lcom/android/internal/policy/impl/GlobalActions$9;-><init>(Lcom/android/internal/policy /impl/GlobalActions;II)V18. aput-object v2, v0, v1复制代码18.将GlobalActions$3.smali 重命名为GlobalActions$7.smali打开GlobalActions$7.smali替换所有GlobalActions$3.smali 的实例19.到第52行,前面的代码是:"invoke-static {v0, v1},Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V"添加代码:1. const/4 v2, 0x12. sput v2, Lcom/android/internal/app/ShutdownThread;->mReboot:I复制代码本帖隐藏的内容20.将GlobalActions$3.smali 命名为GlobalActions$9.smali打开GlobalActions$9.smali替换所有GlobalActions$3.smali 实例21.到第52行,前面的代码是:"invoke-static {v0, v1},Lcom/android/internal/app/ShutdownThread;->shutdown(Landroid/content/Context;Z)V 添加代码:1. const/4 v2, 0x32. sput v2, Lcom/android/internal/app/ShutdownThread;->mReboot:I复制代码22.回编译android.policy.jar。

C#实现windows系统重启、关机

C#实现windows系统重启、关机

C#实现windows系统重启、关机⼀、C#实现windows系统重启、关机实现原理,使⽤系统shutdown命令执⾏:强制关机:shutdown -s -f -t 0强制重启:shutdown -r -f -t 0C#实现代码封装:public class ShutdownHelper{///<summary>///到期时间///</summary>public DateTime End { get; set; }public ShutdownHelper(){DateTime now = DateTime.Now;DateTime end = now.Date.AddDays(1).AddSeconds(-1);this.End = end;}public ShutdownHelper(DateTime time){this.End = time;}//执⾏命令public void Exec(string str){try{using (Process process = new Process()){process.StartInfo.FileName = "cmd.exe";//调⽤cmd.exe程序eShellExecute = false;process.StartInfo.RedirectStandardInput = true;//重定向标准输⼊process.StartInfo.RedirectStandardOutput = true;//重定向标准输出process.StartInfo.RedirectStandardError = true;//重定向标准出错process.StartInfo.CreateNoWindow = true;//不显⽰⿊窗⼝process.Start();//开始调⽤执⾏process.StandardInput.WriteLine(str + "&exit");//标准输⼊str + "&exit",相等于在cmd⿊窗⼝输⼊str + "&exit"process.StandardInput.AutoFlush = true;//刷新缓冲流,执⾏缓冲区的命令,相当于输⼊命令之后回车执⾏process.WaitForExit();//等待退出process.Close();//关闭进程}}catch{}}//执⾏关机操作public void Shutdown(){this.Exec("shutdown -s -f -t 0");}//执⾏重启操作public void Restart(){this.Exec("shutdown -r -f -t 0");}//取消任务}⼆、关于shutdown命令详解:C#实现控制Windows系统关机、重启和注销的⽅法:shutdown命令的参数:shutdown.exe -s:关机shutdown.exe -r:关机并重启shutdown.exe -l:注销当前⽤户shutdown.exe -s -t 时间:设置关机倒计时shutdown.exe -h:休眠shutdown.exe -t 时间:设置关机倒计时。

关机错误代码

关机错误代码

系统死机、蓝屏破解1、0x0000000A:IRQL_NOT_LESS_OR_EQUAL◆错误分析:主要是由问题的驱动程序、有缺陷或不兼容的硬件与软件造成的. 从技术角度讲. 表明在内核模式中存在以太高的进程内部请求级别(IRQL)访问其没有权限访问的内存地址.◇解决方案:请用前面介绍的解决方案中的2、3、5、8、9方案尝试排除.2、0x00000012:TRAP_CAUSE_UNKNOWN◆错误分析:如果遇到这个错误信息, 那么很不幸, 应为KeBudCheck分析的结果是错误原因未知.◇解决方案:既然微软都帮不上忙, 就得靠自己了, 请仔细回想这个错误是什么时候出现的; 第一次发生时你对系统做了哪些操作; 发生时正在进行什么操作. 从这些信息中找出可能的原因, 从而选择相应解决方案尝试排除.3、0x0000001A:MEMORY_MANAGEMENT◆错误分析:这个内存管理错误往往是由硬件引起的, 比如: 新安装的硬件、内存本身有问题等.◇解决方案:如果是在安装Windows时出现, 有可能是由于你的电脑达不到安装Windows的最小内存和磁盘要求.4、0x0000001E:KMODE_EXCEPTION_NOT_HANDLED◆错误分析:Windows内核检查到一个非法或者未知的进程指令, 这个停机码一般是由问题的内存或是与前面0x0000000A相似的原因造成的.◇解决方案:(1)硬件兼容有问题:请对照前面提到的最新硬件兼容性列表, 查看所有硬件是否包含在该列表中.(2)有问题的设备驱动、系统服务或内存冲突和中断冲突: 如果在蓝屏信息中出现了驱动程序的名字,请试着在安装模式或者故障恢复控制台中禁用或删除驱动程序, 并禁用所有刚安装的驱动和软件. 如果错误出现在系统启动过程中, 请进入安全模式, 将蓝屏信息中所标明的文件重命名或者删除.(3)如果错误信息中明确指出Win32K.sys: 很有可能是第三方远程控制软件造成的, 需要从故障恢复控制台中将对该软件的服务关闭.(4)在安装Windows后第一次重启时出现:最大嫌疑可能时系统分区的磁盘空间不足或BIOS 兼容有问题.(5)如果是在关闭某个软件时出现的:很有可能时软件本省存在设计缺陷, 请升级或卸载它.5、0x00000023:FAT_FILE_SYSTEM0x00000024:NTFS_FILE_SYSTEM◆错误分析:0x00000023通常发生在读写FAT16或者FAT32文件系统的系统分区时, 而0x00000024则是由于NTFS.sys文件出现错误(这个驱动文件的作用是容许系统读写使用NTFS文件系统的磁盘). 这两个蓝屏错误很有可能是磁盘本身存在物理损坏, 或是中断要求封包(IRP)损坏而导致的. 其他原因还包括:硬盘磁盘碎片过多; 文件读写操作过于频繁, 并且数据量非常达或者是由于一些磁盘镜像软件或杀毒软件引起的◇解决方案:第一步:首先打开命令行提示符, 运行"Chkdsk /r"(注:不是CHKDISK, 感觉象这个, 但是……)命令检查并修复硬盘错误, 如果报告存在怀道(Bad Track), 请使用硬盘厂商提供的检查工具进行检查和修复.第二步:接着禁用所有即使扫描文件的软件, 比如:杀毒软件、防火墙或备份工具.第三步:右击C:\winnt\system32\drivers\fastfat.sys文件并选择"属性", 查看其版本是否与当前系统所使用的Windows版本相符.(注:如果是XP, 应该是C:\windows\system32\drivers\fastfat.sys)第四步:安装最新的主板驱动程序, 特别IDE驱动. 如果你的光驱、可移动存储器也提供有驱动程序,最好将它们升级至最新版.6、0x00000027:RDR_FILE_SYSTEM◆错误分析:这个错误产生的原因很难判断, 不过Windows内存管理出了问题很可能会导致这个停机码的出现.◇解决方案:如果是内存管理的缘故, 通常增加内存会解决问题.7、0x0000002EATA_BUS_ERROR◆错误分析:系统内存存储器奇偶校验产生错误, 通常是因为有缺陷的内存(包括物理内存、二级缓存或者显卡显存)时设备驱动程序访问不存在的内存地址等原因引起的. 另外, 硬盘被病毒或者其他问题所损伤, 以出现这个停机码.◇解决方案:(1)检查病毒(2)使用"chkdsk /r"命令检查所有磁盘分区.(3)用Memtest86等内存测试软件检查内存.(4)检查硬件是否正确安装, 比如:是否牢固、金手指是否有污渍.8、0x00000035:NO_MORE_IRP_STACK_LOCATIONS◆错误分析:从字面上理解, 应该时驱动程序或某些软件出现堆栈问题. 其实这个故障的真正原因应该时驱动程序本省存在问题, 或是内存有质量问题.◇解决方案:请使用前面介绍的常规解决方案中与驱动程序和内存相关的方案进行排除.9、0x0000003F:NO_MORE_SYSTEM_PTES◆错误分析:一个与系统内存管理相关的错误, 比如:由于执行了大量的输入/输出操作, 造成内存管理出现问题: 有缺陷的驱动程序不正确地使用内存资源; 某个应用程序(比如:备份软件)被分配了大量的内核内存等.◇解决方案:卸载所有最新安装的软件(特别是哪些增强磁盘性能的应用程序和杀毒软件)和驱动程序.10、0x00000044:MULTIPLE_IRP_COMPLIETE_REQUESTS◆错误分析:通常是由硬件驱动程序引起的.◇解决方案:卸载最近安装的驱动程序. 这个故障很少出现, 目前已经知道的是, 在使用/这家公司的某些软件时会出现, 其中的罪魁就是Falstaff.sys文件.(作者难道不怕吃官司嘛, 把公司网址公布)11、0x00000050:PAGE_FAULT_IN_NONPAGED+AREA◆错误分析:有问题的内存(包括屋里内存、二级缓存、显存)、不兼容的软件(主要是远程控制和杀毒软件)、损坏的NTFS卷以及有问题的硬件(比如:PCI插卡本身已损坏)等都会引发这个错误. ◇解决方案:请使用前面介绍的常规解决方案中与内存、软件、硬件、硬盘等相关的方案进行排除.12、0x00000051:REGISTRY_ERROR◆错误分析:这个停机码说明注册表或系统配置管理器出现错误, 由于硬盘本身有物理损坏或文件系统存在问题, 从而造成在读取注册文件时出现输入/输出错误.◇解决方案:使用"chkdsk /r"检查并修复磁盘错误.13、0x00000058:FTDISK_INTERNAL_ERROR◆错误分析:说明在容错集的主驱动发生错误.◇解决方案:首先尝试重启电脑看是否能解决问题, 如果不行, 则尝试"最后一次正确配置"进行解决.14、0x0000005E:CRITICAL_SERVICE_FAILED◆错误分析:某个非常重要的系统服务启动识别造成的.◇解决方案:如果是在安装了某个新硬件后出新的, 可以先移除该硬件, 并通过网上列表检查它是否与Windows 2K/XP兼容, 接着启动电脑, 如果蓝屏还是出现, 请使用"最后一次正确配置"来启动Windows,如果这样还是失败, 建议进行修复安装或是重装.15、0x0000006F:SESSION3_INITIALIZATION-FAILED◆错误分析:这个错误通常出现在Windows启动时, 一般是由有问题的驱动程序或损坏的系统文件引起的.◇解决方案:建议使用Windows安装光盘对系统进行修复安装.16、0x00000076:PROCESS_HAS_LOCKED_PAGES◆错误分析:通常是因为某个驱动程序在完成了一次输入/输出操作后, 没有正确释放所占有的内存◇解决方案:第一步:点击开始-->运行:regedt32, 找到[HKLM\SYSTEM\Currentcontrolset\control\sessionmanager\memory management], 在右侧新建双字节值"TrackLockedPages", 值为1. 这样Windows便会在错误再次出现时跟踪到是哪个驱动程序的问题.第二步:如果再次出现蓝屏, 那么错误信息会变成:STOP:0x0000000CB(0xY,0xY,0xY,0xY)DRIVER_LEFT_LOCKED_PAGES_IN_PROCESS其中第四个"0xY"会显示为问题驱动程序的名字, 接着对其进行更新或删除.第三步:进入注册表, 删除添加的"TrackLockedPages".17、0x00000077:KERNEL_STACK_INPAGE_ERROR◆错误分析:说明需要使用的内核数据没有在虚拟内存或物理内存中找到. 这个错误常常于是着磁盘有问题, 相应数据损坏或受到病毒侵蚀.◇解决方案:使用杀毒软件扫描系统; 使用"chkdsk /r"命令检查并修复磁盘错误, 如不行则使用磁盘厂商提供的工具检查修复.18、0x0000007A:KERNEL_DATA_INPAGE_ERROR◆错误分析:这个错误往往是虚拟内存中的内核数据无法读入内存造成的. 原因可能是虚拟内存页面文件中存在坏簇、病毒、磁盘控制器出错、内存有问题.◇解决方案:首先用升级为最新病毒库杀毒软件查杀病毒, 如果促无信息中还有0xC000009C或0xC000016A代码, 那么表示是坏簇造成的, 并且系统的磁盘检测工具无法自动修复, 这时要进入"故障恢复控制台", 用"chkdsk /r"命令进行手动修复.19、0x0000007B:INACESSIBLE_BOOT_DEVICE◆错误分析:Windows在启动过程中无法访问系统分区或启动卷. 一般发生在更换主板后第一次启动时, 主要是因为新主板和旧主板的IDE控制器使用了不同芯片组造成的. 有时也可能是病毒或硬盘损伤所引起的.◇解决方案:一般只要用安装光盘启动电脑, 然后执行修复安装即可解决问题. 对于病毒则可使用DOS版的杀毒软件进行查杀(主战有kv2005DOS版下载). 如果是硬盘本身存在问题, 请将其安装到其他电脑中,然后使用"chkdsk /r"来检查并修复磁盘错误.20、0x0000007E:SYSTEM_THREAD_EXCEPTION_NOT_HANDLED◆错误分析:系统进程产生错误, 但Windows错误处理器无法捕获. 其产生原因很多, 包括:硬件兼容性、有问题的驱动程序或系统服务、或者是某些软件.◇解决方案:请使用"事件查看器"来获取更多的信息, 从中发现错误根源.(发现好像不是解决哦, 看来这里大家要自力更生了!)21、0x0000007F:UNEXPECTED_KERNEL_MOED_TRAP◆错误分析:一般是由于有问题的硬件(比如:内存)或某些软件引起的. 有时超频也会产生这个错误.◇解决方案:用检测软件(比如:Memtest86)检查内存, 如果进行了超频, 请取消超频. 将PCI硬件插卡从主板插槽拔下来, 或更换插槽. 另外, 有些主板(比如:nForce2主板)在进行超频后, 南桥芯片过热也会导致蓝屏, 此时为该芯片单独增加散热片往往可以有效解决问题.22、0x00000080:NMI_HARDWARE_FAILURE◆错误分析:通常是有硬件引起的.(似乎蓝屏与硬件错误有不解之缘)◇解决方案:如果最近安装了新硬件, 请将其移除, 然后试试更换插槽和安装最新的驱动程序, 如果升级了驱动程序, 请恢复后原来的版本; 检查内存金手指是否有污染和损坏; 扫描病毒; 运行"chkdsk/r"检查并修复磁盘错误; 检查所有硬件插卡已经插牢. 如果以上尝试都无效果, 就得找专业的电脑维修公司请求帮助了.23、0x0000008E:KERNEL_MODE_EXCEPTION_NOT_HANDLED◆错误分析:内核级应用程序产生了错误, 但Windows错误处理器没有捕获. 通常是硬件兼容性错误.◇解决方案:升级驱动程序或升级BIOS.24、0x0000009C:MACHINE_CHECK_EXCEPTION◆错误分析:通常是硬件引起的. 一般是因为超频或是硬件存在问题(内存、CPU、总线、电源).◇解决方案:如果进行了超频, 请降会CPU原来频率, 检查硬件.25、0x0000009FRIVER_POWER_STATE_FAILURE◆错误分析:往往与电源有关系, 常常发生在与电源相关的操作, 比如:关机、待机或休睡. ◇解决方案:重装系统, 如果不能解决, 请更换电源.26、0x000000A5:ACPI_BIOS_ERROR◆错误分析:通常是因为主板BIOS不能全面支持ACPI规范.◇解决方案:如果没有相应BIOS升级, 那么可在安装Windows 2K/XP时, 当出现"press F6 if youneed to install a third-party SCSI or RAID driver"提示时, 按下F7键, 这样Windows 便会自动禁止安装ACPI HAL, 而安装 Standard PC HAL.27、0x000000B4:VIDEO_DRIVER_INIT_FAILURE◆错误分析:这个停止信息表示Windows因为不能启动显卡驱动, 从而无法进入图形界面. 通常是显卡的问题, 或者是存在与显卡的硬件冲突(比如:与并行或串行端口冲突).◇解决方案:进入安全模式查看问题是否解决, 如果可以, 请升级最新的显卡驱动程序, 如果还不行,则很可能是显卡与并行端口存在冲突, 需要在安全模式按下WIN+break组合键打开"系统属性", 在硬件--> 设备管理器中找到并双击连接打印的LPT1端口的项, 在"资源"选项卡中取消"使用自动配置"的构选, 然后将"输入/输出范围"的"03BC"改为"0378".28、0x000000BE:ATTEMPTED_WRITE_TO_READONLY_MEMORY◆错误分析:某个驱动程序试图向只读内存写入数据造成的. 通常是在安装了新的驱动程序, 系统服务或升级了设备的固件程序后.◇解决方案:如果在错误信息中包含有驱动程序或者服务文件名称, 请根据这个信息将新安装的驱动程序或软件卸载或禁用.29、0x000000C2:BAD_POOL_CALLER◆错误分析:一个内核层的进程或驱动程序错误地试图进入内存操作. 通常是驱动程序或存在BUG的软件造成的.◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.30、0x000000CERIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS◆错误分析:通常是由有问题的驱动程序或系统服务造成的.◇解决方案:请参考前面介绍的常规解决方案相关项目进行排除.31、0x000000D1RIVER_IRQL_NOT_LESS_OR_EQUAL◆错误分析:通常是由有问题的驱动程序引起的(比如罗技鼠标的Logitech MouseWare 9.10和9.24版驱动程序会引发这个故障). 同时,有缺陷的内存、损坏的虚拟内存文件、某些软件(比如多媒体软件、杀毒软件、备份软件、DVD播放软件)等也会导致这个错误.◇解决方案:检查最新安装或升级的驱动程序(如果蓝屏中出现"acpi.sys"等类似文件名,可以非常肯定时驱动程序问题)和软件; 测试内存是否存在问题; 进入"故障恢复控制台", 转到虚拟内存页面文件Pagefile.sys所在分区, 执行"del pagefile.sys"命令, 将页面文件删除; 然后在页面文件所在分区执行"chkdsk /r"命令;进入Windows后重新设置虚拟内存.如果在上网时遇到这个蓝屏, 而你恰恰又在进行大量的数据下载和上传(比如:网络游戏、BT下载),那么应该是网卡驱动的问题, 需要升级其驱动程序.32、0x000000EA:THREAD_STUCK_IN_DEVICE_DRIVER◆错误分析:通常是由显卡或显卡驱动程序引发的.◇解决方案:先升级最新的显卡驱动, 如果不行, 则需要更换显卡测试故障是否依然发生.33、0x000000ED:UNMOUNTABLE_BOOT_VOLUME◆错误分析:一般是由于磁盘存在错误导致的, 有时也建议检查硬盘连线是否接触不良, 或是没有使用合乎该硬盘传输规格的连接线, 例如ATA-100仍使用ATA-33的连接线, 对低速硬盘无所谓, 但告诉硬盘( 支持ATA-66以上)的要求较严格, 规格不对的连线有时也会引起这类没办法开机的故障. 如果在修复后,还是经常出现这个错误, 很可能是硬盘损坏的前兆.◇解决方案:一般情况下, 重启会解决问题, 不管怎么样都建议执行"chkdsk /r"命令来检查修复硬盘34、0x000000F2:HARDWARE)INTERRUPT_STORM◆错误分析:内核层检查到系统出现中断风暴, 比如:某个设备在完成操作后没有释放所占用的中断.通常这是由缺陷的驱动程序造成的.◇解决方案:升级或卸载最新安装的硬件驱动程序.35、0x00000135:UNABLE_TO_LOCATE_DLL◆错误分析:通常表示某个文件丢失或已经损坏, 或者是注册表出现错误.◇解决方案:如果是文件丢失或损坏, 在蓝屏信息中通常会显示相应的文件名, 你可以通过网络或是其他电脑找到相应的文件, 并将其复制到系统文件夹下的SYSTEM32子文件夹中. 如果没有显示文件名, 那就很有可能是注册表损坏, 请利用系统还原或是以前的注册表备份进行恢复.36、0x0000021A:STATUS_SYSTEM_PROCESS_TERMINATED◆错误分析:用户模式子系统, 例如Winlogon或客服服务运行时子系统(CSRSS)已损坏, 所以无法再保证安全性, 导致系统无法启动. 有时, 当系统管理员错误地修改了用户帐号权限, 导致其无法访问系统文件和文件夹.◇解决方案:使用"最后一次正确的配置", 如果无效, 可使用安装光盘进行修复安装.37、STOP 0xC0000221 or STATUS_IMAGE_CHECKSUM_MISMATCH◆错误分析:通常是由于驱动程序或系统DLL文件损坏造成的. 一般情况下, 在蓝屏中会出现文件名称◇解决方案:(1)使用Windows安装光盘进行修复安装;(2)如果还能进入安全模式, 可以"开始-->运行": sfc /scannow(3)还可以采用提取文件的方法来解决, 进入"故障恢复控制台", 使用copy或expand命令从光盘中复制或解压受损的文件. 不过, 蓝屏一般都是驱动程序文件的问题, 所以expand命令会用的都一些, 比如:蓝屏中提示tdi.sys文件, 因为驱动文件一般在i386\driver压缩包里, 所以使用: expand %CDROM:\i386\driver.cab \f:tdi.sys c:\winnt\system\drivers.(xp为expand %CDROM:\i386\driver.cab\f:tdi.sys c:\windowns\system\drivers)38、如果启动时出现这些蓝屏停机码如果在Windows启动时出现蓝屏, 并出现附表一中的错误信息, 那么多半时硬件出现了问题, 请用硬件厂商提供的诊断工具来判断硬件是否存在问题, 并到其网站查看是否有最新的BIOS或固件更新程序. 如果硬件没有问题, 重装Windows 2K/XP, 若相同问题还是出现, 就只能求助专业的技术支持了.如果遇到的时附表二中的错误信息, 也只有重装Windows了, 如果不能解决问题, 建议求救专业的技术支持.附表一:停机码错误名0x31 PHASEO_INITALIZATION_FAILED0x5C HAL_INITIALITAION_FAILED0x5D HEAP_INITIALITAION_FAILED0x5E OBJECT_INITIALITAION_FAILED0x5F SECURITY_INITIALITAION_FAILED0x60 PROCESS_INITIALITAION_FAILED附表二:停机码错误名0x32 PHASE1_INITALIZATION_FAILED0x61 HAL1_INITALIZATION_FAILED0x62 OBJECT1_INITALIZATION_FAILED 0x63 SECURITY1_INITALIZATION_FAILED 0x64 SYMBOLIC_INITALIZATION_FAILED 0x65 MEMORY1_INITALIZATION_FAILED 0x66 CACHE_INITALIZATION_FAILED0x67 CONFIG_INITALIZATION_FAILED0x68 FILE_INITALIZATION_FAILED0x69 IO1_INITALIZATION_FAILED0x6A LPC_INITALIZATION_FAILED0x6B PROCESS1_INITALIZATION_FAILED 0x6C REFMON_INITALIZATION_FAILED0x6D SESSION1_INITALIZATION_FAILED 0x6E SESSION2_INITALIZATION_FAILED 0x6F SESSION3_INITALIZATION_FAILED 0x70 SESSION4_INITALIZATION_FAILED。

关机、重启、注销源代码?.NET技术VB.NET-CSDN社区communi...

关机、重启、注销源代码?.NET技术VB.NET-CSDN社区communi...

关机、重启、注销源代码?.NET技术-CSDN社区communi...使用Shutdown命令system.Diagnostics.Process.Start("shutdown.exe")关于ShutDown的参数描述如下:====================================== =========================shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m \\computer][/t xxx][/d [p:]xx:yy [/c "comment"]]/i 显示图形用户界面(GUI)。

这必须是第一个选项/l 注销。

这不能与 /m 或 /d 选项一起使用/s 关闭计算机/r 关闭并重启动计算机/a 放弃系统关闭。

这只能在超时过程中使用/p 关闭本地计算机,没有超时或警告。

这只能与 /d 选项一起使用/h 休眠本地计算机。

这只能与 /f 选项一起使用/e 将计算机的意外关闭原因记入文档/m \\computer 指定目标计算机/t xxx 设置关闭前的超时为 xxx 秒。

有效范围是 0-600,默认为 30/c "comment" 重启动或关闭的原因的注释。

最大允许 127 个字符/f 强制正在运行的应用程序关闭而不事先警告用户/d [p:]xx:yy 提供重启动或关闭的原因p 表明重启动或关闭是计划内的xx 是主要原因号(小于 256 的正整数)yy 是次要原因号(小于 65536 的正整数)原因:(E = 预期 U = 意外 P = 计划, C = 自定义)====================================== ==================例:关机system.Diagnostics.Process.Start("shutdown.exe","s")重新启动system.Diagnostics.Process.Start("shutdown.exe","r")注销system.Diagnostics.Process.Start("shutdown.exe","l")最后在此操作之后马上退出当前应用程序:system.Diagnostics.Process.Start("shutdown.exe","s")Application.Exit()。

自动重启电脑的bat文件代码

自动重启电脑的bat文件代码

自动重启电脑的bat文件代码有时我们需要设置自动重启,方法有很多,其中一种就是利用bat 文件,自动重启电脑的bat文件,一般用作服务器自动重启,下面详细介绍下windows下服务器的自动设置方法。

代码如下:@echo offtitle 重新启动echo 下面开始重新启动电脑,请选择启动方式:echo 选择1手动重新启动echo 选择2自动重新启动set /p select=请您选择1,2:if %select%=="2" goto rebootecho 退出,请手动重新启动电脑pauseexit:rebootshutdown /r /f补充:电脑总是自动重启怎么办1、右击“我的电脑”,选择“属性”项。

2、在打开的系统属性窗口中选择“高级系统设置”项进入。

3、在打开的“系统属性”窗口中,切换至“高级”选择卡,然后点击“系统和故障恢复设置”按钮。

4、在打开的窗口中取消勾选“自动重启启动”项并按确认即可。

5、当电脑在使用的过程中产生蓝屏时,我们就可以进入“系统日志”管理器中查看产生系统失败的根源啦。

打开“运行”对话框,输入命令“eventvwr.msc”即可查看日志信息,从中定位系统产生失败的原因。

6、当然,我们也可以通过禁用某些开机项来尝试修复系统。

打开“运行”对话框,输入命令“msconfig”进入“系统配置实用程序”界面,勾选“常规”选项卡下的“诊断启动”选项。

7、还有一种修复计算机蓝屏或重启故障的方法,就是在电脑启动时按“F8”进入系统故障菜单,从中选择“安全模式”进入或“最后一次正确的配置”项进入系统,将及有可能修复系统。

8、当然,如果以上方法均不能解决问题,那么建议您还是重新安装一下系统,毕竟安装系统所耗费的时间相对修复所用时间要少许多。

一劳永逸之事才是王道。

相关阅读:电脑自动重启方法方法一:1、打开控制面板-管理工具-计划任务程序2、创建基本任务,名称栏目,输入“定时重启”,下一步;3、在窗口里,有每天、每周、每月、一次各种选择,这里小诚选择一次,这次执行完就失效,您可以根据自己的情况进行选择哈,点击下一步;4、设置重启的日期、时间点,下一步;5、选择启动程序,下一步;6、在打开页面里,点击浏览,找到C;\Windows\System32\Shutdown.exe,点击打开;7、在添加参数栏目里输入“-r”(重启),进行下一步8、点击完成,即可实现自动重启了方法二:网上搜索个自动重启关机类软件,这比较多,简单设置一下就可以了。

用bat实现的自动关机的代码.doc

用bat实现的自动关机的代码.doc

用bat实现的自动关机的代码方法步骤一般情况下我们都是使用shutdown来实现关机与重启用法: shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f][/m \\computer][/t xxx][/d [p:]xx:yy [/c comment]]没有参数显示帮助。

这与键入/? 是一样的/? 显示帮助。

这与不键入任何选项是一样的/i 显示图形用户界面(GUI)。

这必须是第一个选项/l 注销。

这不能与/m 或/d 选项一起使用/s 关闭计算机/r 关闭并重启动计算机/a 放弃系统关闭。

这只能在超时过程中使用/p 关闭本地计算机,没有超时或警告。

这只能与/d 选项一起使用/h 休眠本地计算机。

这只能与/f 选项一起使用/e 将计算机的意外关闭原因记入文档/m \\computer 指定目标计算机/t xxx 设置关闭前的超时为xxx 秒。

有效范围是0-600,默认为30/c comment 重启动或关闭的原因的注释。

最大允许127 个字符/f 强制正在运行的应用程序关闭而不事先警告用户/d [p:]xx:yy 提供重启动或关闭的原因p 表明重启动或关闭是计划内的xx 是主要原因号(小于256 的正整数)yy 是次要原因号(小于65536 的正整数)重启shutdown /r /f关机shutdown /s /f先来个简单功能版本的复制代码代码如下:@echo offmode con lines=25title 定时关机color 1fclsecho.echo.echo.echo.echo 时间使用24小时制(如2:15、12:00),可以输入多个时间点echo.echo 多个时间点用空格分隔echo.echo.echoecho.set times=set /p times= 请输入关机时间::: 以下语句实现每个星期的每一天指定时间关机:: 如果要换成每个月的某几天,请改字母为数字,并用逗号分隔:: 以下代码没有错误检测语句,输入时间的时候务必按照指定格式输入:: 可以用在CMD窗口用at命令来查看计划任务if not %times%== for %%i in (%times%) do (at %%i /every:M,T,W,Th,F,S,Su shutdown -s)补充:电脑关机的常用方法第一种方式:通过点击电脑的开始菜单并选择关机第二种方法:通过快捷命令alt+F4组合键进行关机,在弹出窗口中选择关机并确定第三种方法:通过ctrl+alt+delete组合键打开任务管理器通过选择用户选项点击活动的账户,并选择断开或者注销第四种方法:通过电脑运行(快捷命令为ctrl+R)输入cmd 进入到管理员界面,通过输入shuntdown /p进行关机第五种方法:直接按住电脑开机键数秒,直到电脑主机停止运行为止,此方法为不得已才会使用,或者直接切断电源。

系统代码

系统代码

“at 22:00 Shutdown -s”定时关机“Shutdown.exe -s -t 3600”倒计时关机想取消的话,可以在运行中输入“shutdown -a”。

另外输入“shutdown -i”,则可以打开设置自动关机对话框,对自动关机进行设置-f:强行关闭应用程序-m \\计算机名:控制远程计算机-i:显示图形用户界面,但必须是Shutdown的第一个选项-l:注销当前用户-r:关机并重启-t 时间:设置关机倒计时-c "消息内容":输入关机对话框中的消息内容(不能超127个字符)winver---------检查Windows版本wmimgmt.msc----打开windows管理体系结构(WMI)wupdmgr--------windows更新程序wscript--------windows脚本宿主设置write----------写字板winmsd---------系统信息wiaacmgr-------扫描仪和照相机向导winchat--------XP自带局域网聊天mem.exe--------显示内存使用情况Msconfig.exe---系统配置实用程序mplayer2-------简易widnows media playermspaint--------画图板mstsc----------远程桌面连接mplayer2-------媒体播放机magnify--------放大镜实用程序mmc------------打开控制台mobsync--------同步命令dxdiag---------检查DirectX信息drwtsn32------ 系统医生devmgmt.msc--- 设备管理器dfrg.msc-------磁盘碎片整理程序diskmgmt.msc---磁盘管理实用程序dcomcnfg-------打开系统组件服务ddeshare-------打开DDE共享设置dvdplay--------DVD播放器net stop messenger-----停止信使服务net start messenger----开始信使服务notepad--------打开记事本nslookup-------网络管理的工具向导ntbackup-------系统备份和还原narrator-------屏幕“讲述人”ntmsmgr.msc----移动存储管理器ntmsoprq.msc---移动存储管理员操作请求netstat -an----(TC)命令检查接口syncapp--------创建一个公文包sysedit--------系统配置编辑器sigverif-------文件签名验证程序sndrec32-------录音机shrpubw--------创建共享文件夹secpol.msc-----本地安全策略syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码services.msc---本地服务设置Sndvol32-------音量控制程序sfc.exe--------系统文件检查器sfc /scannow---windows文件保护tsshutdn-------60秒倒计时关机命令tourstart------xp简介(安装完成后出现的漫游xp程序)taskmgr--------任务管理器eventvwr-------事件查看器eudcedit-------造字程序explorer-------打开资源管理器packager-------对象包装程序perfmon.msc----计算机性能监测程序progman--------程序管理器regedit.exe----注册表rsop.msc-------组策略结果集regedt32-------注册表编辑器rononce -p ----15秒关机regsvr32 /u *.dll----停止dll文件运行regsvr32 /u zipfldr.dll------取消ZIP支持cmd.exe--------CMD命令提示符chkdsk.exe-----Chkdsk磁盘检查certmgr.msc----证书管理实用程序calc-----------启动计算器charmap--------启动字符映射表cliconfg-------SQL SERVER 客户端网络实用程序Clipbrd--------剪贴板查看器conf-----------启动netmeeting compmgmt.msc---计算机管理cleanmgr-------垃圾整理ciadv.msc------索引服务程序osk------------打开屏幕键盘odbcad32-------ODBC数据源管理器oobe/msoobe /a----检查XP是否激活lusrmgr.msc----本机用户和组logoff---------注销命令iexpress-------木马捆绑工具,系统自带Nslookup-------IP地址侦测器fsmgmt.msc-----共享文件夹管理器utilman--------辅助工具管理器gpedit.msc-----组策略dxdiag---3D支持及电脑配置。

linux 重启 关机 代码流程

linux 重启 关机 代码流程

linux 重启关机代码流程## English Answer:### Shutdown Process.When the shutdown command is executed, it initiates a sequence of steps to gracefully halt the operating system and prepare the system for power-off. Here's a simplified overview of the shutdown process:1. Signal Initialization: The shutdown command sends a SIGTERM and SIGHUP signal to running processes, giving them an opportunity to terminate gracefully and save any necessary data.2. Process Termination: Processes receiving the SIGTERM signal terminate their operations and release any resources they hold. Essential system services, such as the init process, may be configured to ignore SIGTERM and continue running.3. Unclean Process Handling: If a process fails to terminate after receiving SIGTERM, a SIGKILL signal is sent to force the process to terminate.4. File System Quiescing: The operating system ensures that all file system buffers are flushed to disk and any pending disk writes are completed. This prevents data loss during the shutdown process.5. Unmount Filesystems: The shutdown process unmounts all filesystems except the root filesystem, which prevents further file accesses and ensures a clean shutdown.6. Power-Off Preparation: Once all processes are terminated and filesystems are unmounted, the system prepares for power-off. This may involve shutting down hardware devices, such as network adapters and peripherals.7. System Halt: Finally, the operating system initiatesa system halt, which involves stopping all running processes and powering down the system.### Reboot Process.The reboot process shares some similarities with the shutdown process, but it additionally involves restarting the operating system after power-off. Here's a brief outline of the reboot process:1. Shutdown Initiation: The reboot command initiates the same shutdown process as described above, gracefully terminating processes and unmounting filesystems.2. Power-Off Preparation: As in the shutdown process, devices are shut down, and the system prepares for power-off.3. System Power-Off: The system powers down, cutting off power to all hardware components.4. Power-On and BIOS: When power is restored, the system goes through the power-on self-test (POST) and executes the BIOS routines.5. Boot Loader: The BIOS transfers control to the boot loader, which typically resides in a dedicated partition on the hard drive.6. Operating System Loading: The boot loader loads the operating system kernel into memory and starts the initialization process.7. System Startup: The operating system kernel initializes hardware devices, mounts filesystems, andstarts essential services.## 中文回答:### 关机流程。

C#代码重启、关闭等电脑操作代码

C#代码重启、关闭等电脑操作代码
private const int SW_SHOWMAXIMIZED = 3;
private const int SW_SHOWNOACTIVATE = 4;
private const int SW_RESTORE = 9;
private const int SW_SHOWDEFAULT = 10;
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
/// <summary>
/// 将窗口设为系统的前台窗口。这个函数可用于改变用户目前正在操作的应用程序
/// </summary>
/// <param name="hWnd"></param>
/// <returns></returns>
[DllImport("user32.dll")] private static extern
/// </summary>
private ponentModel.Container components = null;
private System.Threading.ThreadStart threadStart;
private System.Threading.Thread thread;

cmd代码重启电脑

cmd代码重启电脑

cmd代码重启电脑一些计算机高手往往会做一些跟小白不一样的事情,例如使用cmd代码这种情况,下面就由小编来教教你怎么学计算机高手那样酷炫吧!教你用cmd代码重启电脑!有兴趣的朋友可以看过来哦!cmd代码重启电脑的方法1.win+R,换出输入框2.在输入框输入命令,如关机:shutdown -s -t 20,该命令是20秒后关机。

命令说明-s 关机-r 重启-t 时间,后面是数字是你要设置的秒数-a 取消命令,如果要取消定时命令可以 shutdown -a附加:cmd常用命令Nslookup-------IP地址侦测器explorer-------打开资源管理器logoff--------注销命令tsshutdn-------60秒倒计时关机命令lusrmgr.msc-----本机用户和组services.msc-----本地服务设置oobe/msoobe/a----检查XP是否激活notepad--------打开记事本cleanmgr-------**整理netstartmessenger----开始信使服务netstopmessenger-----停止信使服务compmgmt.msc-----计算机管理conf-----------启动netmeetingdvdplay--------DVD播放器charmap--------启动字符映射表diskmgmt.msc----磁盘管理实用程序calc-----------启动计算器dfrg.msc-------磁盘碎片整理程序chkdsk.exe-----Chkdsk磁盘检查devmgmt.msc---设备管理器regsvr32/u*.dll----停止dll文件运行drwtsn32------系统医生rononce-p----15秒关机dxdiag---------检查DirectX信息regedt32-------注册表编辑器Msconfig.exe---系统配置实用程序rsop.msc-------组策略结果集mem.exe--------显示内存使用情况regedit.exe----注册表winchat--------XP自带局域网聊天progman--------程序管理器winmsd---------系统信息perfmon.msc----计算机性能监测程序winver---------检查Windows版本sfc/scannow-----扫描错误并复原taskmgr-----任务管理器(2000/xp/2003) wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr--------windows更新程序w脚本--------windows脚本宿主设置write----------写字板winmsd---------系统信息wiaacmgr-------扫描仪和照相机向导mem.exe--------显示内存使用情况Msconfig.exe---系统配置实用程序mplayer2-------简易widnowsmediaplayermspaint--------画图板mstsc----------远程桌面连接mplayer2-------媒体播放机magnify--------放大镜实用程序mmc------------打开控制台mobsync--------同步命令dcomcnfg-------打开系统组件服务ddeshare-------打开DDE共享设置dvdplay--------DVD播放器netstopmessenger-----停止信使服务netstartmessenger----开始信使服务notepad--------打开记事本nslookup-------网络管理的工具向导ntbackup-------系统备份和还原narrator-------屏幕“讲述人”ntmsmgr.msc----移动存储管理器ntmsoprq.msc---移动存储管理员*作请求netstat-an----(TC)命令检查接口syncapp--------创建一个公文包sysedit--------系统配置编辑器sigverif-------文件签名验证程序sndrec32-------录音机shrpubw--------创建共享文件夹secpol.msc-----本地安全策略syskey---------系统加密,一旦加密就不能解开,保护windowsxp系统的双重密码services.msc---本地服务设置Sndvol32-------音量控制程序sfc.exe--------系统文件检查器sfc/scannow---windows文件保护tsshutdn-------60秒倒计时关机命令tourstart------xp简介(安装完成后出现的漫游xp程序) taskmgr--------任务管理器eventvwr-------事件查看器eudcedit-------造字程序explorer-------打开资源管理器packager-------对象包装程序perfmon.msc----计算机性能监测程序progman--------程序管理器regedit.exe----注册表rsop.msc-------组策略结果集regedt32-------注册表编辑器rononce-p----15秒关机。

VB关机程序代码整理

VB关机程序代码整理

B关机程序代码整理[ 2009-3-6 21:47:00 | By: 木剑]设计其一4个Label 2个text 2个command 2个timer 其他属性根据自己喜欢再设计Public a As Integer,b As IntegerPrivate Sub Command1_Click()a = Text1.Textb = Text2.TextIf a > 23 Or b > 59 Then MsgBox ("输入有误,请重新输入")Timer1.Enabled = TrueMe.Caption = "你要关机的时间是" & a & "时" & b & "分"End SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()Command1.Caption = "确定"Command2.Caption = "停止"Label1.Caption = "时"Label2.Caption = "分"Label3.Caption = "关机时间为:"Label4.Caption = "等待......"Text1.Text = ""Text2.Text = ""Timer1.Enabled = FalseTimer2.Enabled = TrueTimer2.Interval = 1000Timer1.Interval = 1000End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 8 Then Exit SubIf KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0End SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 8 Then Exit SubIf KeyAscii > 57 Or KeyAscii < 48 Then KeyAscii = 0End SubPrivate Sub Timer1_Timer()If Label4.Left < 0 Then Label4.Left = Form1.WidthLabel4.Left = Label4.Left - 200If Hour(Time) = a And Minute(Time) = b ThenTimer1.Enabled = FalseShell ("c:\windows\system32\shutdown.exe /s /t 0")End IfEnd SubPrivate Sub Timer2_Timer()Me.ClsPrint "现在时间是:" & TimeEnd SubVB定时关机代码2简单的VB定时关机记时开始的时候可以发出声音新建一个窗体FROM1 和一个按钮Command1添加一个Timer1 控件和Label1Dim ss, mm, hh As IntegerPrivate qdtime '变量保存计时起点Private imglft As Integer '退出图标左坐标初值'下面为关机的WIMDOWS API 函数声明Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As LongEnum HowExitConstEWX_FORCE = 4 '强制关机EWX_LOGOFF = 0 '注销EWX_REBOOT = 2 '重开机EWX_SHUTDOWN = 1 '可关机98 但在2000下关机最后出现“ 现在可以安全关机”的问题EWX_POWEROFF = 8 '可以关闭Windows NT/2000/XP:计算机的:End EnumConst TOKEN_ADJUST_PRIVILEGES = &H20Const TOKEN_QUERY = &H8Const SE_PRIVILEGE_ENABLED = &H2Const ANYSIZE_ARRAY = 1Private Type LUIDlowpart As Longhighpart As LongEnd TypePrivate Type LUID_AND_A TTRIBUTESpLuid As LUIDAttributes As LongEnd TypePrivate Type TOKEN_PRIVILEGESPrivilegeCount As LongPrivileges(ANYSIZE_ARRAY) As LUID_AND_A TTRIBUTESEnd TypePrivate Declare Function GetCurrentProcess Lib "kernel32" () As LongPrivate Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias _"LookupPrivilegeValueA" (ByVal lpSystemName As String, _ByVal lpName As String, lpLuid As LUID) As LongPrivate Declare Function AdjustTokenPrivileges Lib "advapi32.dll" _(ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, _NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, _PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As LongPrivate Declare Function OpenProcessToken Lib "advapi32.dll" _(ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, _TokenHandle As Long) As LongPrivate Sub AdjustToken() '关闭2000/XP前要先得到关机的特权Dim hdlProcessHandle As LongDim hdlTokenHandle As LongDim tmpLuid As LUIDDim tkp As TOKEN_PRIVILEGESDim tkpNewButIgnored As TOKEN_PRIVILEGESDim lBufferNeeded As LonghdlProcessHandle = GetCurrentProcess()OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY), _ hdlTokenHandle'Get the LUID for shutdown privilege.LookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuidtkp.PrivilegeCount = 1 ' One privilege to settkp.Privileges(0).pLuid = tmpLuidtkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLED'Enable the shutdown privilege in the access token of this process.AdjustTokenPrivileges hdlTokenHandle, False, tkp, Len(tkpNewButIgnored), _tkpNewButIgnored, lBufferNeededEnd SubPrivate Function hmstostring(ByVal h As Integer, ByVal m As Integer, ByVal s As Integer) As StringDim hhs, mms, sss As StringIf h < 10 Thenhhs = "0" + Trim(Str(h))Elsehhs = Trim(Str(h))If m < 10 Thenmms = "0" + Trim(Str(m))Elsemms = Trim(Str(m))End IfIf s < 10 Thensss = "0" + Trim(Str(s))Elsesss = Trim(Str(s))End Ifhmstostring = hhs + ":" + mms + ":" + sssEnd FunctionPrivate Sub Command1_Click()Timer1.Enabled = FalseEnd SubPrivate Sub Form_Load()valuetime = 5 '设置关机时间/分钟Timer1.Enabled = Truehh = Int(valuetime / 60) ' 转换时间格式mm = valuetime - hh * 60ss = 0Label1.Caption = hmstostring(hh, mm, ss)End SubPrivate Sub Timer1_Timer()If ss < 1 ThenIf mm < 1 ThenIf hh < 1 ThenTimer1.Interval = 0AdjustToken '关闭2000/XP前要先得到关机的特权Call ExitWindowsEx(EWX_POWEROFF, 0) '关机Exit SubElsehh = hh - 1mm = 59ss = 60End IfElsemm = mm - 1ss = 60End Ifss = ss - 1Beep '发出声音End IfLabel1.Caption = hmstostring(hh, mm, ss)End Sub。

VB开机、关机、重启代码

VB开机、关机、重启代码

VB 关机,待机,重启代码今天刚写了一个基于VB的计算机关机,待机,重启等的程序,和大家分享一下!只需要把控件添加上,把程序粘贴上就可以实现了!一、控件:六个command控件,一个timer控件,一个text控件,一个label控件,二、程序:Option ExplicitDim t, k As IntegerPrivate Declare Function SetSuspendState Lib "Powrprof" (ByVal Hibernate As Boolean, ByVal ForceCritical As Boolean, ByVal DisableWakeEvent As Boolean) As BooleanPrivate Sub Command6_Click() '取消EndEnd SubPrivate Sub Form_Load() '初始化Command1.Caption = "注销"Command2.Caption = "重启"Command3.Caption = "关机"Command4.Caption = "待机"Command5.Caption = "定时关机"Command6.Caption = "取消"Timer1.Interval = 1000Timer1.Enabled = FalseLabel1.Caption = "定时关机"End SubPrivate Sub Command4_Click() '待机SetSuspendState False, False, FalseEnd SubPrivate Sub Command5_Click() '定时关机If Command5.Caption = "定时关机" ThenCommand5.Caption = "取消定时"t = Val(Text1.Text) * 60Timer1.Enabled = TrueElseIf Command5.Caption = "取消定时" ThenCommand5.Caption = "定时关机"Timer1.Enabled = FalseEnd IfEnd SubPrivate Sub Command1_Click() '注销用户Shell "shutdown -l" '-l 是shutdown 的一个参数意思是注销用户End SubPrivate Sub Command2_Click() '重启Shell "shutdown -R -t 3" '-r 是重启等待时间为0秒End SubPrivate Sub Command3_Click() '关机Shell "shutdown -S -t 3" '-s 是关闭系统End SubPrivate Sub Timer1_Timer() '计时器t = t - 1k = t \ 60Label1.Caption = "系统将在" & Text1.Text & "分钟后关机! 离关机还有" & k & "分钟" If t = 0 ThenTimer1.Enabled = FalseCall Command3_ClickEnd IfEnd Sub三、界面1、未启动定时关机2、启动定时关机。

重启、注销、关机windows系统的正确写法(VB代码)

重启、注销、关机windows系统的正确写法(VB代码)

重启、注销、关机windows系统的正确写法(VB代码)Attribute VB_Name = "System_Shutdown_Module"Option ExplicitPrivate Const EWX_LOGOFF = 0Private Const EWX_SHUTDOWN = 1Private Const EWX_REBOOT = 2Private Const EWX_FORCE = 4Private Const EWX_POWEROFF = 8Private Const TOKEN_QUERY = &H8Private Const TOKEN_ADJUST_PRIVILEGES = &H20Private Const SE_SHUTDOWN_NAME = "SeShutdownPrivilege"Private Const SE_PRIVILEGE_ENABLED = &H2Private Const ANYSIZE_ARRAY = 1Private Type LARGE_INTEGERlowpart As Longhighpart As LongEnd TypePrivate Type LUID_AND_ATTRIBUTES'pLuid As LuidpLuid As LARGE_INTEGERAttributes As LongEnd TypePrivate Type TOKEN_PRIVILEGESPrivilegeCount As LongPrivileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTESEnd TypePrivate Declare Function LockWorkStation Lib "user32.dll" () As LongPrivate Declare Function ExitWindows Lib "user32" (ByVal dwReserved As Long, ByVal uReturnCode As Long) As Long Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As LongPrivate Declare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, T okenHandle As Long) As Long Private Declare Function GetCurrentProcess Lib "kernel32" () As LongPrivate Declare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LARGE_INTEGER) As LongPrivate Declare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As Long'[[[[[[[[[[ 《重启、注销、关机windows系统的正确写法》Code by EnVon QQ:407542585 ]]]]]]]]]]]]]]'锁定计算机Public Function 锁定计算机() As BooleanIf LockWorkStation Then锁定计算机 = TrueElse锁定计算机 = FalseEnd IfEnd Function'////////////////////////////////////////////////////////////////// ////////////////////'正常注销计算机Public Function 正常注销计算机() As BooleanIf ExitWindowsEx(EWX_LOGOFF, 0) Then正常注销计算机 = TrueElse正常注销计算机 = FalseEnd IfEnd Function'强制注销计算机Public Function 强制注销计算机() As BooleanIf ExitWindowsEx(EWX_FORCE, 0) Then强制注销计算机 = TrueElse强制注销计算机 = FalseEnd IfEnd Function'////////////////////////////////////////////////////////////////// ////////////////////'正常关闭计算机Public Function 正常关闭计算机() As BooleanDim retB As BooleanDim hProc As LongDim tkp As TOKEN_PRIVILEGES, tkpLen As LongDim outTok As TOKEN_PRIVILEGES, outTokLen As LongretB = FalseIf OpenProcessT oken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) ThenIf LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, tkp.Privileges(0).pLuid) Then tkp.PrivilegeCount = 1tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDtkpLen = Len(tkp)If AdjustTokenPrivileges(hProc, False, tkp, tkpLen, outTok, outT okLen) ThenIf ExitWindowsEx(EWX_SHUTDOWN, 0) Then retB = TrueEnd IfEnd IfEnd If正常关闭计算机 = retBEnd Function'强制关闭计算机Public Function 强制关闭计算机() As BooleanDim retB As BooleanDim hProc As LongDim tkp As TOKEN_PRIVILEGES, tkpLen As LongDim outTok As TOKEN_PRIVILEGES, outTokLen As LongretB = FalseIf OpenProcessT oken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) Then If LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, tkp.Privileges(0).pLuid) Then tkp.PrivilegeCount = 1tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDtkpLen = Len(tkp)If AdjustTokenPrivileges(hProc, False, tkp, tkpLen, outTok, outT okLen) ThenIf ExitWindowsEx(EWX_SHUTDOWN Or EWX_FORCE, 0) Then retB = TrueEnd IfEnd IfEnd If强制关闭计算机 = retBEnd Function'////////////////////////////////////////////////////////////////// ////////////////////'正常关闭电源Public Function 正常关闭电源() As BooleanDim retB As BooleanDim hProc As LongDim tkp As TOKEN_PRIVILEGES, tkpLen As LongDim outTok As TOKEN_PRIVILEGES, outTokLen As LongretB = FalseIf OpenProcessT oken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) Then If LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, tkp.Privileges(0).pLuid) Then tkp.PrivilegeCount = 1tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDtkpLen = Len(tkp)If AdjustTokenPrivileges(hProc, False, tkp, tkpLen, outTok, outT okLen) ThenIf ExitWindowsEx(EWX_POWEROFF, 0) Then retB = TrueEnd IfEnd IfEnd If正常关闭电源 = retBEnd Function'强制关闭电源Public Function 强制关闭电源() As BooleanDim retB As BooleanDim hProc As LongDim tkp As TOKEN_PRIVILEGES, tkpLen As LongDim outTok As TOKEN_PRIVILEGES, outTokLen As LongretB = FalseIf OpenProcessT oken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) Then If LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, tkp.Privileges(0).pLuid) Then tkp.PrivilegeCount = 1tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDtkpLen = Len(tkp)If AdjustTokenPrivileges(hProc, False, tkp, tkpLen, outTok, outT okLen) ThenIf ExitWindowsEx(EWX_POWEROFF Or EWX_FORCE, 0) Then retB = TrueEnd IfEnd IfEnd If强制关闭电源 = retBEnd Function'////////////////////////////////////////////////////////////////// ////////////////////'正常重启计算机Public Function 正常重启计算机() As BooleanDim retB As BooleanDim hProc As LongDim tkp As TOKEN_PRIVILEGES, tkpLen As LongDim outTok As TOKEN_PRIVILEGES, outTokLen As LongretB = FalseIf OpenProcessT oken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) Then If LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, tkp.Privileges(0).pLuid) Then tkp.PrivilegeCount = 1tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDtkpLen = Len(tkp)If AdjustTokenPrivileges(hProc, False, tkp, tkpLen, outTok, outT okLen) ThenIf ExitWindowsEx(EWX_REBOOT, 0) Then retB = TrueEnd IfEnd IfEnd If正常重启计算机 = retBEnd Function'强制重启计算机Public Function 强制重启计算机() As BooleanDim retB As BooleanDim hProc As LongDim tkp As TOKEN_PRIVILEGES, tkpLen As LongDim outTok As TOKEN_PRIVILEGES, outTokLen As LongretB = FalseIf OpenProcessT oken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hProc) Then If LookupPrivilegeValue(vbNullString, SE_SHUTDOWN_NAME, tkp.Privileges(0).pLuid) Then tkp.PrivilegeCount = 1tkp.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDtkpLen = Len(tkp)If AdjustTokenPrivileges(hProc, False, tkp, tkpLen, outTok, outT okLen) ThenIf ExitWindowsEx(EWX_REBOOT Or EWX_FORCE, 0) Then retB = TrueEnd IfEnd IfEnd If强制重启计算机 = retBEnd Function。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用VB实现控制电脑自动关机,自动重启,自动注销,自动待机等代码下载设定状态SetSuspendState是否支持休眠IsPwrHibernateAllowed是否支持待机IsPwrSuspendAllowed看MSDN的Power Management部分ColdMooon'在窗体内'放置一个时间控件,两个标签控件和一个文体框控件,和两个单选按钮,两个命令按钮Option ExplicitDim txtTime '保存输入时间Dim nowTime '保存实时时间Dim oldTime '保存开始定时时间Private Sub Form_Load()me.caption="定时关机"bel1.caption="关机时间:"me.Option1.caption="在指定时间关机(时间格式:00:00:00)"me.Option2.caption="延迟指定的时间关机"mand1.caption="确定"mand2.caption="取消"Me.Text1 = GetSetting("ShutDownWindows", "Options", "ShutDownTime", "1:00")me!timer1.interval=1000End SubPrivate Sub Command1_Click()oldTime = TimeIf Not IsDate(Text1.Text) Then '用IsData函数判断输入的时间格式MsgBox "你所输入的不是时间格式,请修改!", , "Wrong"ElseIf Option1.Value ThentxtTime = TimeValue(Text1.Text)Timer1.Enabled = True '启动定时器Me.WindowState = 1 '最小化窗体Me.Caption = "定时关机-启动"ElseIf Option2.Value ThenMe.WindowState = 1Me.Caption = "定时关机-暂停"End IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Unload(Cancel As Integer)SaveSetting "ShutDownWindows", "Options", "ShutDownTime", Me.Text1 End SubPrivate Sub Timer1_Timer()nowTime = Timebel2.Caption = TimeIf Option1.Value ThenIf DateDiff("s", nowTime, txtTime) <= 0 And DateDiff("s", nowTime, txtTime) >= -60 Then '用DateDiff函数判断是否到时间了ShutDownPC TrueTimer1.Enabled = FalseEnd IfEnd IfEnd Sub'在标准模块内Private Const EWX_LOGOFF = 0Public Const EWX_SHUTDOWN = 1Public Const EWX_POWEROFF = 8 '此参数在VB自带API浏览器并未提供,值得注意,如果没有此参数在Win2kServer会死在关机屏幕下Private Const EWX_REBOOT = 2Private Const EWX_FORCE = 4Private Const TOKEN_ADJUST_PRIVILEGES = &H20Private Const TOKEN_QUERY = &H8Private Const SE_PRIVILEGE_ENABLED = &H2Private Const ANYSIZE_ARRAY = 1Private Const VER_PLATFORM_WIN32_NT = 2Type OSVERSIONINFOdwOSVersionInfoSize As LongdwMajorVersion As LongdwMinorVersion As LongdwBuildNumber As LongdwPlatformId As LongszCSDVersion As String * 128End TypeType LUIDLowPart As LongHighPart As LongEnd TypeType LUID_AND_ATTRIBUTESpLuid As LUIDAttributes As LongEnd TypeType TOKEN_PRIVILEGESPrivilegeCount As LongPrivileges(ANYSIZE_ARRAY) As LUID_AND_ATTRIBUTESEnd TypePrivate Declare Function GetCurrentProcess Lib "kernel32" () As Long Private Declare Function OpenProcessToken Lib "advapi32" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As LongPrivate Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As LongPrivate Declare Function AdjustTokenPrivileges Lib "advapi32" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState AsTOKEN_PRIVILEGES, ReturnLength As Long) As LongPublic Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As LongPrivate Declare Function GetVersionEx Lib "kernel32" Alias "GetVersionExA" (ByRef lpVersionInformation As OSVERSIONINFO) As Long'Detect if the program is running under Windows NT 检测是否为NTPublic Function IsWinNT() As BooleanDim myOS As OSVERSIONINFOmyOS.dwOSVersionInfoSize = Len(myOS)GetVersionEx myOSIsWinNT = (myOS.dwPlatformId = VER_PLATFORM_WIN32_NT)End Function'set the shut down privilege for the current application 为当前应用程序设置关机权限Private Sub EnableShutDown()Dim hProc As LongDim hToken As LongDim mLUID As LUIDDim mPriv As TOKEN_PRIVILEGESDim mNewPriv As TOKEN_PRIVILEGEShProc = GetCurrentProcess()OpenProcessToken hProc, TOKEN_ADJUST_PRIVILEGES +TOKEN_QUERY, hTokenLookupPrivilegeValue "", "SeShutdownPrivilege", mLUIDmPriv.PrivilegeCount = 1mPriv.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDmPriv.Privileges(0).pLuid = mLUID' enable shutdown privilege for the current application 赋予当前应用程序关机权限AdjustTokenPrivileges hToken, False, mPriv, 4 + (12 * mPriv.PrivilegeCount), mNewPriv, 4 + (12 * mNewPriv.PrivilegeCount)End Sub' Shut Down PC 关闭PCPublic Sub ShutDownPC(Force As Boolean)Dim ret As LongDim Flags As LongFlags = EWX_SHUTDOWN Or EWX_POWEROFFIf Force Then Flags = Flags + EWX_FORCEIf IsWinNT Then EnableShutDownExitWindowsEx Flags, 0End Sub'Restart PC 重起PCPublic Sub RebootPC(Force As Boolean)Dim ret As LongDim Flags As LongFlags = EWX_REBOOTIf Force Then Flags = Flags + EWX_FORCEIf IsWinNT Then EnableShutDownExitWindowsEx Flags, 0End Sub'Log off the current user 注消(登出)当前用户Public Sub LogOff(Force As Boolean)Dim ret As LongDim Flags As LongFlags = EWX_LOGOFFIf Force Then Flags = Flags + EWX_FORCEExitWindowsEx Flags, 0End Sub'自动开机说明:(以CMOS Setup Utility - Copyright (C) 1984-2001 Award Software 为例)'开机按Delete键进入CMOS Setup程序'把选择移到Power Management Setup(电源管理设置), 按回车'然后把选择移到Resume by Alarm,按PageDown键选择Enable'移到下一行把Date(of Month) Alarm 设为0'移到下一行把Time(hh:mm:ss) Alarm 设为[自己的开机时间],例如:8:0:0(早上8点开机)'由于各厂家CMOS设置程序不同,请参照主板配套说明书。

相关文档
最新文档