Admiral Land
Admiral Land

Reputation: 2492

How to know what user starts program?

I write simple program, that starts another Client.exe from user:

        Console.Write("Enter your domain: ");
        string domain = Console.ReadLine();
        Console.Write("Enter you user name: ");
        string uname = Console.ReadLine();
        Console.Write("Enter your password: ");
        SecureString password = new SecureString();
        ConsoleKeyInfo key;
        do
        {
            key = Console.ReadKey(true);

            // Ignore any key out of range.
            if (((int)key.Key) >= 33 && ((int)key.Key <= 90) && key.Key != ConsoleKey.Enter)
            {
                // Append the character to the password.
                password.AppendChar(key.KeyChar);
                Console.Write("*");
            }
            // Exit if Enter key is pressed.
        } while (key.Key != ConsoleKey.Enter);
        Console.WriteLine();

        try
        {
            Console.WriteLine("\nTrying to launch ProcessClient using your login information...");
            Process.Start("ProcessClient.exe", uname, password, domain);
        }
        catch (Win32Exception ex)
        {
            Console.WriteLine(ex.Message);
        }

And it works! But how Client.exe knows what user execute this program?

Upvotes: 0

Views: 63

Answers (1)

Nasreddine
Nasreddine

Reputation: 37888

You can know this using the Environment class:

Environment.UserName

Gets the user name of the person who is currently logged on to the Windows operating system.

Environment.UserDomainName

Gets the network domain name associated with the current user.

Upvotes: 1

Related Questions