Click here to Skip to main content
15,868,292 members
Articles / Programming Languages / C#

How to Get the Last Restart/Reboot Time for Windows

Rate me:
Please Sign up or sign in to vote.
3.63/5 (8 votes)
12 Feb 2008CPOL 53.5K   688   16   6
This code snippet helps to get the last Windows reboot time using C# and interop

Introduction

This code snippet helps to get the time when the Windows OS was last rebooted, using C# code.

Background

It was required for me to get the last restart time for Windows in my program. But unfortunately I couldn't find any direct APIs from .NET. Also some articles suggested using the NetStat command and parsing the output as the available solution.

Using the Code

The following code snippet in C# will be helpful in getting the last restart time for Windows.

C#
IntPtr bufPtr = IntPtr.Zero;
int val = NetStatisticsGet(null, "LanmanWorkstation", 0, 0, out bufPtr);
STAT_WORKSTATION_0 wks = new STAT_WORKSTATION_0();
if (val == 0)
{
    wks = (STAT_WORKSTATION_0)Marshal.PtrToStructure(bufPtr, typeof(STAT_WORKSTATION_0));
}
DateTime aRebootTime = DateTime.FromFileTime(wks.StatisticsStartTime);
System.Console.WriteLine(aRebootTime);       

Points of Interest

The current code shows how to get the last restart time for the workstation. It is also possible get the restart time from the server.

History

  • 12th February, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer Working for an MNC
India India
Working for an MNC for last 5 years. Currently in application development, mainly ASP.NET. Has also worked with internet security and penetration testing. MCSD .NET certified. Enjoys travelling and food.

Comments and Discussions

 
GeneralLast Reboot Time Pin
traywolf2-Jan-09 6:41
traywolf2-Jan-09 6:41 
QuestionCan you explain how it works? Pin
adaiye19-Feb-08 20:14
adaiye19-Feb-08 20:14 
GeneralAnother way... Pin
VDJ18-Feb-08 22:31
VDJ18-Feb-08 22:31 
GeneralSystem.Environment.TickCount Pin
Oleg Gilmanov18-Feb-08 16:56
Oleg Gilmanov18-Feb-08 16:56 
GeneralRe: System.Environment.TickCount Pin
lepipele23-Nov-11 12:09
lepipele23-Nov-11 12:09 
GeneralSecurity Event Log Pin
CARPETBURNER12-Feb-08 4:40
CARPETBURNER12-Feb-08 4:40 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.