Visual Basic: Initializing My.User

If you write programs in Visual Basic and use the My namespace, you know that the User object allows accessing properties of the user who logged into the operating system. However, in Windows Forms the following line returns the username in the form of domain\username and works correctly:

Dim userName As String = My.User.Name

In WPF, the same line returns an empty string. There are two ways of solving this problem. The first way is by initializing My.User as follows:

My.User.InitializeWithWindowsUser()Dim userName As String = My.User.Name

The second way is by using security and identity objects directly, as in the following code:

Dim userName As String = System.Security.Principal.WindowsIdentity.GetCurrent().Name ...

Get Hidden WPF: Secrets for Creating Great Applications in Windows Presentation Foundation now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.