Solved

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

Posted on 2008-10-10
4
221 Views
Last Modified: 2013-11-07
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

0
Comment
Question by:andy148
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 13

Expert Comment

by:SameerJagdale
ID: 22693607
0
 

Author Comment

by:andy148
ID: 22717560
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
 
LVL 13

Accepted Solution

by:
SameerJagdale earned 500 total points
ID: 22740874
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
 

Author Closing Comment

by:andy148
ID: 31505239
thanks!!
0

Featured Post

Application Discovery Service in AWS

In the era of the cloud, customers migrating away from their existing on-premise infrastructure. This requires lots of planning, strategies, and effort to identify their existing resources and determine how best to migrate.  Datacenter migrations happen in four phases -

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Creating an analog clock UserControl seems fairly straight forward.  It is, after all, essentially just a circle with several lines in it!  Two common approaches for rendering an analog clock typically involve either manually calculating points with…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Monitoring a network: why having a policy is the best policy? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the enormous benefits of having a policy-based approach when monitoring medium and large networks. Software utilized in this v…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…

627 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question