Пример #1
0
 static public my_task_class[] return_array_of_tasks()
 {
     Process[] buf_for_processes = Process.GetProcesses();
     my_task_class[] buf_for_my_tasks = new my_task_class[buf_for_processes.Length];
     int counter = 0;
     //*********************************************************************************
     SelectQuery query = new SelectQuery(@"SELECT * FROM Win32_Process");
     using (ManagementObjectSearcher searcher = new ManagementObjectSearcher(query))
     {
         ManagementObjectCollection processes = searcher.Get();
         foreach (ManagementObject process in processes)
         {
             process.Get();
             string[] user_and_domain_names = new string[2];
             user_and_domain_names[0] = " ";
             user_and_domain_names[1] = " ";
             process.InvokeMethod("GetOwner", user_and_domain_names);
             if (user_and_domain_names[0] == null)
                 user_and_domain_names[0] = "";
             PropertyDataCollection processProperties =
                  process.Properties;
             foreach (Process cur_proc in buf_for_processes)
             {
                 if (buf_for_my_tasks[counter] == null)
                 {
                     buf_for_my_tasks[counter] = new my_task_class();
                     buf_for_my_tasks[counter].memory = cur_proc.PrivateMemorySize64;
                     buf_for_my_tasks[counter].process_name = cur_proc.ProcessName;
                     buf_for_my_tasks[counter].current_id = cur_proc.Id;
                 }
                 int test_int = int.Parse(string.Format("{0}", processProperties["ProcessId"].Value));
                 if (buf_for_my_tasks[counter].current_id == int.Parse(string.Format("{0}", processProperties["ProcessId"].Value)))
                 {
                     buf_for_my_tasks[counter].user_name_for_task = user_and_domain_names[0];
                     break;
                 }
                 ++counter;
             }
             counter = 0;
         }
     }
     //*********************************************************************************
     return buf_for_my_tasks;
 }
Пример #2
0
 public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
 {
     Process[] buf_for_tasks = (Process[])value;
     my_task_class[] buf_for_my_tasks = new my_task_class[buf_for_tasks.Length];
     for (int counter = 0; counter < buf_for_tasks.Length - 1; ++counter)
     {
         buf_for_my_tasks[counter] = new my_task_class();
         buf_for_my_tasks[counter].current_id = buf_for_tasks[counter].Id;
     }
     return buf_for_my_tasks;
 }
Пример #3
0
 private void filter_user_name_text_box_TextChanged(object sender, TextChangedEventArgs e)
 {
     List<my_task_class> dynamic_collection = new List<my_task_class>();
     for (int counter = 0; counter < storage_for_tasks.main_storage_for_tasks.Length; ++counter)
     {
         if ((storage_for_tasks.main_storage_for_tasks[counter].user_name_for_task).Contains(((TextBox)sender).Text))
         {
             dynamic_collection.Add(storage_for_tasks.main_storage_for_tasks[counter]);
         }
     }
     if (dynamic_collection.Count > 0)
     {
         my_task_class[] template_source_of_tasks = new my_task_class[dynamic_collection.Count];
         int counter_for_array = 0;
         foreach (my_task_class cur_task in dynamic_collection)
         {
             template_source_of_tasks[counter_for_array] = new my_task_class();
             template_source_of_tasks[counter_for_array].current_id = cur_task.ID;
             template_source_of_tasks[counter_for_array].process_name = cur_task.process_name;
             template_source_of_tasks[counter_for_array].memory = cur_task.memory;
             template_source_of_tasks[counter_for_array].user_name_for_task = cur_task.user_name_for_task;
             ++counter_for_array;
         }
         main_data_grid.ItemsSource = template_source_of_tasks;
     }
 }