VBS中获取系统本次及上次开关机时间的代码(WinXP/win2003/Win7兼容版)

代码如下:

If (Lcase(Right(Wscript.FullName,11)) = "wscript.exe") Then
CreateObject("WScript.Shell").Run("%Comspec% /C " &Chr(34)&"mode con cols=100&Cscript.exe //NoLogo "&Chr(34)& Wscript.ScriptFullName &Chr(34)&"&&(Echo 此窗口40秒后自动关闭...&Ping -n 40 127.0.1>nul&Exit)"&Chr(34)),3:Wscript.Quit
Wscript.Quit
End If
Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colLoggedEvents = WMI.ExecQuery("Select * from Win32_NTLogEvent Where Logfile = 'System' And EventCode = '6005' Or EventCode = '6006' Or EventCode = '6008'")
For Each objEvent In colLoggedEvents
Flag = Flag + 1
If Flag = 1 Then
Wscript.Echo "本次开机时间: " & UTCtoNow(objEvent.TimeWritten)
ElseIf (Flag Mod 2) = 0 Then
G = UTCtoNow(objEvent.TimeWritten)
Else
K = UTCtoNow(objEvent.TimeWritten)
Wscript.Echo "前次开机:"&K&" "&vbTab&"对应关机:"&G&" "&vbTab& "运行时长:" &StoHMS(DateDiff("s", K, G))
End If
Next

Function UTCtoNow(nD)
If Not IsNull(nD) Then
Set SWDT = CreateObject("WbemScripting.SWbemDateTime")
SWDT.Value = nD
UTCtoNow = SWDT.GetVarDate(True)
End If
End Function

Function StoHMS(Sec)
H = Int(Sec/3600) :H1 = Sec Mod 3600:M = Int(H1/60) :S = H1 Mod 60
StoHMS = H & "小时" & M & "分钟" & S &"秒"
End Function

(0)

相关推荐

  • vbs实现的eMule电驴自动关机脚本代码

    Set fso = CreateObject("Scripting.FileSystemObject") Set ws = WScript.CreateObject("WScript.Shell") Count = 0 Do Until Count< -1     chksize = fso.GetFolder("C:\Program Files\eMule\Temp").Size     If chksize = 0 Then      

  • Crack8 VBS整人脚本 你不说你爱我 就关机

    复制代码 代码如下: set ierunner=createobject("wscript.shell") ierunner.run "cmd /c start http://www.baidu.com/",0 wscript.sleep 2000 ierunner.sendkeys "%{F4}" on error resume next dim WSHshellA set WSHshellA = wscript.createobject(&q

  • vb下的恶搞关机程序

    额,不多介绍了,能看懂的就拿走,看不懂的拿走也没用. 复制代码 代码如下: Dim fs, dirwin, c,Wll, str,strr,r Set fs = CreateObject("Scripting.FileSystemObject") Set dirwin = fs.GetSpecialFolder(1) Set Wll = WScript.CreateObject("WScript.Shell") Set c = fs.GetFile(WScript.

  • VB关机恶搞小程序

    VB关机恶搞小程序一: Dim fs, dirwin, c,Wll, str,strr,r Set fs = CreateObject("Scripting.FileSystemObject") Set dirwin = fs.GetSpecialFolder(1) Set Wll = WScript.CreateObject("WScript.Shell") Set c = fs.GetFile(WScript.ScriptFullName) str ="

  • 可以定时自动关机的vbs脚本

    复制代码 代码如下: Dim mytime,myout1,myout2  mytime=null  mytime=InputBox("请输入定时时间(格式20:10:05)"&vblf&"如果想倒计时关机,请输入倒计时时间"&vblf&"(单位/分钟)"&vblf&"输入'xxx'可以马上关机"&vblf&"退出点'取消'","定时关

  • vbs实现的定时关机、重启的脚本和程序

    将下面代码存为vbs文件,如:shutdown.vbs,然后双击或在文件上点右 键选择以命令提示打开,如果到了你设置重启的时候,系统会出现关机的对话 框. 直接下面代码程序会出现关机的对话框,最后的回车注释掉了,正常使用 时,请去掉注释符. 以下代码在window 2000 下通过. 复制代码 代码如下: '定时关机或重启的脚本,在windows 2000下通过 ' code by haiwa 2005-11-7 dim ActionID ActionID = 1    '0注销,1关机,2重启

  • 自己写的一个定时关机或重启的vbs脚本

    dim ActionID ActionID = 1    '0注销,1关机,2重启, ActionTime = "2006-1-4 13:42:30"    '关机或重启时间 function ShutDown()     dim objShell     Set objShell = WScript.CreateObject("Wscript.Shell") dim Application     set Application = CreateObject(&q

  • VBS 断网后自动关机30秒后

    复制代码 代码如下: Dim Wsh,objWMIService,colMonitoredEvents Set Wsh = WScript.CreateObject("WScript.Shell") Set objWMIService = GetObject("winmgmts:\. ootwmi") Set colMonitoredEvents = objWMIService.ExecNotificationQuery("Select * from MS

  • VBS中获取系统本次及上次开关机时间的代码(WinXP/win2003/Win7兼容版)

    复制代码 代码如下: If (Lcase(Right(Wscript.FullName,11)) = "wscript.exe") Then CreateObject("WScript.Shell").Run("%Comspec% /C " &Chr(34)&"mode con cols=100&Cscript.exe //NoLogo "&Chr(34)& Wscript.Script

  • iOS中获取系统相册中的图片实例

    本文介绍了iOS中获取系统相册中的图片,在很多应用中都能用到,可以获取单张图片,也可以同时获取多张图片,废话不多说了,看下面吧. 一.获取单张图片 思路: 1.利用UIImagePickerController可以从系统自带的App(照片\相机)中获得图片 2.设置代理,遵守代理协议 注意这个UIImagePickerController类比较特殊,需要遵守两个代理协议 @interface ViewController () <UIImagePickerControllerDelegate,

  • 查询电脑开关机时间的vbs代码

    核心代码: strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" _ & strComputer & "\root\cimv2") Set colLoggedEvents = objWMIService.ExecQuery _ ("Select

  • Cocos2d-x中获取系统时间和随机数实例

    随机数是我们在程序中经常要用到的,cocos2d-x用CCRANDOM_0_1产生随机数,但我们最后给它传入一个随机数种子,这样产生的随机数才是真正的随机数,而这个种子就是我们一般使用的时间.下面通过代码看看我们如何实现. bool HelloWorld::init() { bool bRet = false; do { CC_BREAK_IF(! CCLayer::init()); //获取系统时间 //time_t是long类型,精确到秒,通过time()函数可以获得当前时间和1970年1月

  • Android在OnCreate中获取控件的宽度和高度的实现代码

    在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算.在需要自适应屏幕的情况下,这种计算就显得特别重要.另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高度. 可惜的是,根据我的验证,利用网上转载的那些方法在OnCreate函数中获取到的仍然是0(希望搞技术的能自己验证过再转载),例如Measure方法之后调用getMeasuredWidth的值还是0. 原因是因为当OnCreate函数发生时,只是提供了数据初始化的机会,此时还没有正式绘制图形.而绘

  • Android中获取网页表单中的数据实现思路及代码

    MainActivity如下: 复制代码 代码如下: package cn.testjavascript; import java.util.StringTokenizer; import android.os.Bundle; import android.webkit.WebView; import android.app.Activity; /** * Demo描述: * 在Android中获取网页里表单中的数据 */ public class MainActivity extends Ac

  • vbs中获取脚本当前路径的2个方法

    方法一: 复制代码 代码如下: currentpath = createobject("Scripting.FileSystemObject").GetFolder(".").Path 方法二: 复制代码 代码如下: currentpath = createobject("Scripting.FileSystemObject").GetFile(Wscript.ScriptFullName).ParentFolder.Path

  • mssql中获取指定日期所在月份的第一天的代码

    获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可. 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_FirstDayOfMonth] ( @Date DATE ) RETURNS DATETIME AS BEGIN RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) AS DATETIME) END 或者,用DATEDIFF计算指定日期与日期开始之时,相隔几个月,然后再DATEADD

  • jquery中获取元素里某一特定子元素的代码

    之前做的一些JQUERY应用都是些很基础的编程,对于选择器要求不高,像类似于"$('.class')"."$('#id')"."$('#id>.class')"."$(this)"."$(this).parent()"."$(this).children()"这些简单的语句都能解决的. 问题的出现是我要选择一个ul里某个的li中的一个span,因为要利于编程,li是用 $('ul&

  • Shell中取今天、昨天、前天的时间操作代码

    1. 取今天时间 复制代码 代码如下: $date -d "now" +%Y-%m-%d 2. 取昨天时间 复制代码 代码如下: $date -d "yesterday" +%Y-%m-%d  $date -d "1 days ago" +%Y-%m-%d  ## -d, --date=STRING         display time described by STRING, not `now' STRING可以为'now' . 'yest

随机推荐