Reputation: 2492
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
Reputation: 37888
You can know this using the Environment
class:
Gets the user name of the person who is currently logged on to the Windows operating system.
Gets the network domain name associated with the current user.
Upvotes: 1