Get Process owner name from windows C#
I am working on a C# windows application which keeps track of all windows session events on System & record it into Data server.
For single user it is ok.
But for server like server2003,
i want to check if same process with same user is already running then user will get message to log off, because already one session is allocated to his/her id.
But i am not able to get process owner name for myapplication.exe from OS.
Please suggest what to do....
Thanks :)
Kirtan PatelPosted Aug 23, 2009, 4:34 PM
Coded Solution for What you want :)
dont forget to mark "Do you like answer" it will give me some credits :)
Step 1
Step 2
using System.Management;
private void btnGetProcessOwner_Click(object sender, EventArgs e)
{
string ProcessName = txtProcessName.Text.Trim();
string ProcessOwner = "";
ObjectQuery x = new ObjectQuery("Select * From Win32_Process where Name='"+ProcessName+"'");
ManagementObjectSearcher mos = new ManagementObjectSearcher(x);
foreach (ManagementObject mo in mos.Get())
{
string[] s = new string[2];
mo.InvokeMethod("GetOwner", (object[])s);
ProcessOwner = s[0].ToString();
break;
}
MessageBox.Show(ProcessOwner);
}