获取开机时间

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">1、用当前时间减去从开机到现在经过了的时间:</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"></span><pre name="code" class="cpp">	DWORD dwStartTicks = GetTickCount() / 1000 / 60;	// 分钟

	SYSTEMTIME sysTime;
	GetSystemTime(&sysTime);

	FILETIME fileTime;
	ULARGE_INTEGER ulTime;
	SystemTimeToFileTime(&sysTime, &fileTime);
	ulTime.HighPart = fileTime.dwHighDateTime;
	ulTime.LowPart = fileTime.dwLowDateTime;

	DWORD dwCurTime = ulTime.QuadPart / (10 * 1000 * 1000 * 60);	// 分钟

这种方法不太精确。

2、利用未公开的系统函数 NtQuerySystemInformation:

此函数在NTDLL.DLL中导出。

	typedef struct
	{
		LARGE_INTEGER liKeBootTime;
		LARGE_INTEGER liKeSystemTime;
		LARGE_INTEGER liExpTimeZoneBias;
		ULONG uCurrentTimeZoneId;
		DWORD dwReserved;
	} SYSTEM_TIME_INFORMATION; 

	LONG status;
	SYSTEM_TIME_INFORMATION Sti;

	HMODULE hMod = LoadLibraryW(L"NTDLL.DLL");
	if(hMod)
	{
		typedef HRESULT (__stdcall * PFNtQuerySystemInformation)(IN UINT SystemInformationClass,OUT PVOID SystemInformation,IN ULONG SystemInformationLength, OUT PULONG ReturnLength OPTIONAL);

		PFNtQuerySystemInformation pfnNtQuerySystemInformation = (PFNtQuerySystemInformation)GetProcAddress(hMod, "NtQuerySystemInformation");

		if(pfnNtQuerySystemInformation)
			pfnNtQuerySystemInformation(3, &Sti, sizeof(Sti), 0);

		FreeLibrary(hMod);
	}
	DWORD dwCurTime = Sti.liKeBootTime.QuadPart / (1000 * 60); // 分钟

获取开机时间

时间: 2024-10-12 09:45:05

获取开机时间的相关文章

树莓派开机后获取正确时间

日期时间设置 设置NTP服务器和时区 首先通过ADB连接到开发板,使用adb shell命令登录到ADB Shell状态. 先设置时区 setprop persist.sys.timezone Asia/Shanghai 再看看当前的NTP服务器设置 settings get global ntp_server 返回的是null,这时可以将其设置为阿里云的NTP服务器:ntp1.aliyun.com settings put global ntp_server ntp1.aliyun.com 可

MMI开机时间偏长

Mini版本开机时间长 Mini版本开机时间长1. Problem Description:2. Analysis:3. Solution:4. Summary: 1. Problem Description: Mini版本主要是用来测试手机硬件的一款软件, 2. Analysis: 开机较慢的原因是在开机过程中会的data分区进行加密操作,而这个操作对应内部测试并没有什么用,因此可以去掉.然后是在开机过程中会安装APK,这会占用很多的开机时间,安装的这些APK中有许多并不是必备的,所以去掉那些

MySQL时间函数-获取当前时间-时间差

MySQL中获取当前时间为now(),不同于sqlserver getdate(). SQLServer转MySQL除变化top 1 -> limit 1之后报错: select 1 from record_visitor where visitor_ip='' and datediff(mi,visitor_time,getdate())<=30 limit 1 [Err] 1582 - Incorrect parameter count in the call to native func

iOS 获取当前时间以及计算年龄(时间差)

获取当前时间 NSDate *now = [NSDate date]; NSLog(@"now date is: %@", now); NSCalendar *calendar = [NSCalendar currentCalendar]; NSUInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarU

Js获取当前日期时间+日期印证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天

Js获取当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+JS判断某年某月有多少天 字符串转日期型+Js当前日期时间+日期验证+判断闰年+日期的天数差+日期格式化+日期所在年的第几周 日期时间脚本库方法列表Date.prototype.isLeapYear 判断闰年Date.prototype.Format 日期格式化Date.prototype.DateAdd 日期计算Date.prototype.DateDiff 比较日期差Date.prototype.toString 日期转字符

Javascript获取服务器时间

Javascript是运行在客户端的脚本,我们一般都用new Date()来获取当前时间,但是得到的是客户端的时间,客户端时间是随意更改的,如果要做一个产品发布倒计时的话,客户端时间一改,就要闹笑话了.业务中需要用到服务器时间的场景还有很多,那么仅仅通过js怎么拿到服务器时间呢?事实上,只需要一个ajax请求就搞定,通过读取XMLHttpRequest对象的请求头里面的时间戳得到当前服务器时间! 原理就是这么简单:通过ajax向服务器发送请求,当服务器收到请求后即可读取请求头的时间戳了,不管请求

PHP获取当前时间、时间戳的各种格式写法汇总

今天写下php中,如何通过各种方法 获取当前系统时间.时间戳,并备注各种格式的含义,可灵活变通.1.获取当前时间方法date()很简单,这就是获取时间的方法,格式为:date($format, $timestamp),format为格式.timestamp为时间戳–可填参数.2.获取时间戳方法time().strtotime()这两个方法,都可以获取php中unix时间戳,time()为直接获取得到,strtotime($time, $now)为将时间格式转为时间戳,$time为必填.清楚了这个

javascript获取当前时间

? //时间设置 <script type="text/javascript"> <!-- var myDate = new Date();     myDate.getYear();      //获取当前年份(2位)     myDate.getFullYear(); //获取完整的年份(4位,1970-????)     myDate.getMonth();      //获取当前月份(0-11,0代表1月)     myDate.getDate();     

实例365(6)---------DateTime.ToString格式化日期,使用DateDiff方法获取日期时间的间隔数

一:DateTime.ToString格式化日期,截图 二:代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace TmrFormat { public part