Feedback

C# - Owner/Ersteller eines Prozesses ermitteln

Veröffentlicht von am 15.03.2010
(0 Bewertungen)
//Beschreibung:
ermittelt den Owner eines Prozesses, z.B. für Pageant


//Beispiel:
Process[] procPageant = Process.GetProcessesByName("myprocessname");
bool blPageantRunning = false;
foreach (Process p in procPageant)
{
string procOwner = getLocalProcessOwner(p.Id);
//Aktion für jeden Prozess, z.B. Log
}
private static string getLocalProcessOwner(int pid)
        {
            string ProcessOwner = "";
            ObjectQuery x = new ObjectQuery("Select * From Win32_Process where Handle='" + pid + "'");
            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;
            }

            return ProcessOwner;
        }
Abgelegt unter process, prozess, pid, owner, user.

1 Kommentare zum Snippet

matze schrieb am 15.03.2010:
Da die Beschreibung leider nicht richtig funktioniert hat, hier nochmal:

/// <summary>
/// ermittelt den Owner eines Prozesses, z.B. für Pageant
/// </summary>
/// <param name="pid">Prozess-ID</param>
/// <returns>Prozessowner</returns>
/// <example>
/// Process[] procPageant = Process.GetProcessesByName("myprocessname");
/// bool blPageantRunning = false;
/// foreach (Process p in procPageant)
/// {
/// string procOwner = getLocalProcessOwner(p.Id);
/// //Aktion für jeden Prozess, z.B. Log
/// }
/// </example>
 

Logge dich ein, um hier zu kommentieren!