Windows NT/2000系统中如何获取系统的启动时间

delphi 用NtQuerySystemInformation获取系统开机时间 1,用getticketcount获取开机时间,但好像当主板电池有问题时,会出错。2,用NtQuerySystemInformation函数获取开机时间 阅读详情
NTDLL.DLL中有很多鲜为人知的API函数,这些函数非常有用。本文将介绍用NtQuerySystemInformation来获取Windows NT/2000每次启动的时间记录。用这个函数几乎可以得到任何的本地系统信息。其原型如下:

NTSYSAPI
NTSTATUS
NTAPI
NtQuerySystemInformation (
  IN UINT SystemInformationClass, // 信息类型
  OUT PVOID SystemInformation, // 缓冲指针
  IN ULONG SystemInformationLength, // 缓冲的字节大小
  OUT PULONG ReturnLength OPTIONAL // 写入缓冲的字节数
);
第一个参数是请求的信息类型。这个参数可以有许多值。为了得到系统启动时间,我们只用其中的一个值:SystemTimeInformation(3)。
如果,第一个参数是SystemTimeInformation,则第二个参数必须是一个SYSTEM_TIME_INFORMATION结构指针。

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

这个结构中第一个成员是liKeBootTime就是我们所要的系统被启动的时间(以毫秒计)。

LONG status;
SYSTEM_TIME_INFORMATION Sti;

status =  NtQuerySystemInformation(SystemTimeInformation,&Sti,sizeof(Sti),0);  

实例代码下载
 
WinStartTime获取Windows开机时间 获取Windows启动时间、已运行时间,以及具体的操作系统信息;需要.net2支持 立即下载

相关推荐

VC++获取Windows开机运行的时间.rar_Vc_开机运行的时间

VC++获取Windows开机运行的时间,不是开机时间,而是从开机后到现在的运行时间,也就是一次开机所运行的时间,如果关机了,可能就不准确了。

Windows NT/2000系统中如何获取系统启动时间(zz)

NTDLL.DLL中有很多鲜为人知的API函数,这些函数非常有用。本文将介绍用NtQuerySystemInformation来获取Windows NT/2000每次启动时间记录。用这个函数几乎可以得到任何的本地系统信息。其原型如下:NTSYSAPINTSTATUSNTAPINtQuerySystemInformation (  IN UINT SystemInformationClass, /

afxid的专栏 4596

Windows NT/2000系统中如何获取系统启动时间VC源代码

NTDLL.DLL中有很多鲜为人知的API函数,这些函数非常有用。本文将介绍用NtQuerySystemInformation来获取Windows NT/2000每次启动时间记录。用这个函数几乎可以得到任何的本地系统信息。 关键字:boot,ntdll.dll,time,启动,时间

获取电脑的开机时间NtQuerySystemInformation

我们调用的函数在ntdll.dll链接库中,并且我们只能进行动态的链接 下面对ntdll.dll链接库进行简单的介绍: ntdll.dll描述了windows本地NTAPI的接口。是重要的Windows NT内核级文件。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。 百度百科:http://baike.baidu.com/link?u

cxq_1993的专栏 3955

rails attr_protected、 attr_accessible

attr_protected、 attr_accessible 解析 1:为什么使用这两个方法: 我们提交一个表单,该表单中有一些不可以让用户提交的字段,例如‘激活(active)’字段、‘用户权限(purview)’字段,但是怀有恶意的用户可以模拟表单提交这些属性,可以随意的给自己权限,而我们控制器中的取得属性的代码是Account.new(params[:accou...

晗的IT生活 200

rails 数据表单的保护:attr_accessor, attr_accessible and attr_protected

来自:http://www.cnblogs.com/rywx/archive/2012/05/20/2510597.html   rails 数据表单的保护:attr_accessor, attr_accessible and attr_protected attr_accessor是Ruby语言的内置方法,此方法是为变量自动生成get set方法,从而可以省去一堆重复的get...

John 169

Rails3中的attr_accessible、attr_protected和Rails4+的强制参数

attr_accessible、attr_protected这两个方法最后可用的版本为rails3.2.13,用于在对model进行大量赋值时,通过指定白名单(attr_accessible)或黑名单(attr_protected)的方式,确保安全性。 attr_accessibleh和attr_protected区别的详细说明。在rails4中,对大量赋值的控制提升到了controller层,采

ミ安之偌素 1041

rails 表单数据保护(attr_protected、 attr_accessible)

<br />attr_protected、 attr_accessible 解析<br /><br />1:为什么使用这两个方法:<br />   <br />   我们提交一个表单,该表单中有一些不可以让用户提交的字段,例如‘激活(active)’字段、‘用户权限(purview)’字段,但是怀有恶意的用户可以模拟表单提交这些属性,可以随意的给自己权限,而我们控制器中的取得属性的代码是Account.new(params[:account]),这句代码,会接受所有的用户模拟提交的account下的信息,此

3066

Rails 安全性漏洞一則 -- attr_protected 與 attr_accessible

我沒辦法在這邊正常的發布有表單HTML tag的文章,請連結至:http://blog.pixnet.net/zusocfc/post/3220943觀看完整文章!Rails中有個安全性漏洞,請參考* http://manuals.rubyonrails.com/read/chapter/47* http://www.iteye.com/topic/58686假設我們有個users table,表...

cfc 156

推荐项目:Protected Attributes for Rails

推荐项目:Protected Attributes for Rails 如果你在开发Rails应用时遇到过模型属性的安全性问题,那么Protected Attributes可能是你需要的一个解决方案。 项目简介 Protected Attributes是一个用于Rails的gem,它提供了一种简单的方法来保护模型的某些属性不被随意修改。通过将属性标记为attr_protected或attr_acc...

gitblog_00017的博客 491

attr_accessor vs attr_accessible

attr_accessible is used to identify attributes that are accessible by your controller methods. This is to protect your models from being w

Talents come from diligence 756

另类附值指定参数的方法(不用attr_accessible 或 attr_protected)

class Users &lt; ApplicationController def create @user = User.create params[:user] end end   这类方法是我们常用的表单到模型的附值了。   也是经常出现漏洞的地方。具体有哪些漏洞就不说,网上有很多介绍。   通常我们为了解决这个问题都在Model中用attr_protecte...

taito的专栏 168

诗歌rails之activerecord属性保护

最近在看rails安全方面的书,第一部分就是关于生成activerecord对象的参数保护问题。平时一直使用,今天心血来潮想起要看看源代码是如何实现的。 activerecord属性保护就是通过attr_accessible和attr_protected来声明哪些属性可以访问,哪些不可以访问。当然,这些保护只是针对new, create和update_attributes方法,对于直接使用att...

weixin_30408165的博客 136

Ruby on Rails初上手指南中遇到的错误及解决方法

昨天按照指南的方法做出了一个Blog,在创建一个多模型的表单的时候,遇到了: Can't mass-assign protected attributes: tags_attributes 这个界面是出现在提交新的Post或者更新Post的时候,经过对比指南中的代码和步骤,所有的代码都是一模一样的,为什么会有这种情况呢?经过谷歌,发现很多人遇到了类似的问题,最终在一个大神的帖子中找到了答案

GonJay's blog 1194

api 笔记

[code="java"] class Customer < ActiveRecord::Base attr_accessible :name, :nickname end customer = Customer.new(:name => "David", :nickname => "Dave", :credit_rating => "Excellent") cu...

moyuan 117
上一篇: 始终不显示隐藏文件
下一篇: 服务程序中如何得到当前登陆用户名
iiprogram
博客等级 码龄25年 1066粉丝 1515原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值