How to detect when a user logs on from a vb service

I have a vb program that runs as a service. I currently have code that can get the user that is currently logged in, but I have no idea when to run it, so it is currently in a timer. All I need is an event that is triggered when a user logs on. I attatched the code I use to get the current user in case anyone is interested.
Dim User As String = ""
            Dim q1 As New ManagementObjectSearcher("select * from Win32_ComputerSystem")
            Dim qc As ManagementObjectCollection = q1.Get
            For Each Mo As ManagementObject In qc
                User = Mo("username")
                Exit For
            Next

Open in new window

andy148Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
SameerJagdaleConnect With a Mentor Commented:
check the following code:
 

Private Shared Sub Main(ByVal args() As String)
        Dim w As ManagementEventWatcher = Nothing
        Dim q As WqlEventQuery = New WqlEventQuery
        q.EventClassName = "__InstanceOperationEvent"
        q.WithinInterval = New TimeSpan(0, 0, 3)
        ' query interval
        q.Condition = "TargetInstance ISA 'Win32_LogonSession'"
        w = New ManagementEventWatcher(q)
        AddHandler w.EventArrived, AddressOf Me.LogonEventArrived
        w.Start
        Console.ReadLine
    End Sub
    
    Public Shared Sub LogonEventArrived(ByVal sender As Object, ByVal e As EventArrivedEventArgs)
        'Get the Event object and display it
        For Each pd As PropertyData In e.NewEvent.Properties
            
        Next
    End Sub

Open in new window

0
 
andy148Author Commented:
I tried the link, but it didn't help much, I'm looking for an event that is fired when a user logs in, preferably without changing any settings on their computer.
0
 
andy148Author Commented:
thanks!!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.