Retrieving System Uptime

Posted On 2017-09-23 by VB6Boy
Tags: VB6 Windows API VB6 System Services VB6 Miscellaneous Windows
Views: 171

As a part of monitoring your environment, you will need to watch the uptime of your systems. There are a couple different ways to do this.

The first way, and my preferred way to monitor uptime, is to "watch" a server or workstation from another or many other locations. A simple ping to the device and storing the results for reference can give you a good history of uptime stats.

However, the above method relies on the availablity of network communications in order to get accurate tracking. As a partner to this, it might be desirable to have a process on the targeted machine to watch for uptime. For this, you could use the below show Visual Basic 6 code to get the information.

This short and to the point piece of code does nothing more than query the Windows API. Specifically, it looks at GetTickCount from Kernel32.

After getting the current number of ticks from the system, some basic math is performed to convert the value from milliseconds to seconds, minutes, hours, and days.

Finally, a messagebox is displayed on the screen with the uptime. The example below shows the number of days in the messagebox.

This code works with all version of Windows. ANy questions or problems, please don't hesitate to contact me.

Option Explicit

Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub Main()

  Dim lngStart As Long
  Dim NumSeconds As Long
  Dim NumMinutes As Long
  Dim NumHours As Long
  Dim NumDays As Long

  lngStart = GetTickCount()
  NumSeconds = lngStart / 1000
  NumMinutes = NumSeconds / 60
  NumHours = NumMinutes / 60
  NumDays = NumHours / 24
  MsgBox "System has been up for " & NumDays & " days.", vbOKOnly, "Uptime"

End Sub

Special Instructions

Uses the following Windows API:

  • Kernel32
    • GetTickCount

About the Author

has posted a total of 101 articles.

Comments On This Post

No comments on this post yet!

Do you have a thought relating to this post? You can post your comment here. If you have an unrelated question, you can use the Q&A section to ask it.

Or you can drop a note to the administrators if you're not sure where you should post.

Your IP address is:

Before you can post, you need to prove you are human. If you log in, this test goes away.

Code Links