Solved

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

Posted on 2008-10-10
4
216 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
  • 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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

773 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