Click here to Skip to main content
Click here to Skip to main content

How to Get the Last Restart/Reboot Time for Windows

, 12 Feb 2008
Rate this:
Please Sign up or sign in to vote.
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.

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)

About the Author

Gautham Jayaraman
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 PinmemberMember 39685012-Jan-09 6:41 
QuestionCan you explain how it works? Pinmemberadaiye19-Feb-08 20:14 
GeneralAnother way... PinmemberVDJ18-Feb-08 22:31 
GeneralSystem.Environment.TickCount PinmemberMember 206208818-Feb-08 16:56 
GeneralRe: System.Environment.TickCount PinmemberPredrag Tomasevic23-Nov-11 12:09 
GeneralSecurity Event Log PinmemberPeterTheGreat12-Feb-08 4:40 

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

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

| Advertise | Privacy | Mobile
Web02 | 2.8.140721.1 | Last Updated 12 Feb 2008
Article Copyright 2008 by Gautham Jayaraman
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid