- public static void ResetWinwordProcess()
- {
- foreach (Process process in Process.GetProcessesByName("WINWORD"))
- {
- //Ignore the current process
- if (GetProcessOwner(process.Id) == "ASPNET")
- {
- process.Kill();
- }
- }
- }
- public static string GetProcessOwner(int prcessId)
- {
- SelectQuery query1 = new SelectQuery("Select * from Win32_Process");
- ManagementObjectSearcher searcher1 = new ManagementObjectSearcher(query1);
- string owner = "";
- try
- {
- foreach (ManagementObject disk in searcher1.Get())
- {
- ManagementBaseObject inPar = null;
- ManagementBaseObject outPar = null;
- inPar = disk.GetMethodParameters("GetOwner");
- outPar = disk.InvokeMethod("GetOwner", inPar, null);
- if (int.Parse(disk["ProcessId"].ToString()) == prcessId)
- {
- owner = outPar["User"].ToString();
- break;
- }
- }
- }
- catch (Exception e)
- {
- }
- return owner;
- }