ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/RomCheater/trunk/RomCheater.PluginFramework/Core/ConfigPlugin.cs
(Generate patch)

Comparing trunk/RomCheater.PluginFramework/Core/ConfigPlugin.cs (file contents):
Revision 100 by william, Wed May 9 23:23:38 2012 UTC vs.
Revision 101 by william, Thu May 10 09:53:16 2012 UTC

--- trunk/RomCheater.PluginFramework/Core/ConfigPlugin.cs	2012/05/10 09:03:13	100
+++ trunk/RomCheater.PluginFramework/Core/ConfigPlugin.cs	2012/05/10 09:53:16	101
@@ -6,6 +6,7 @@ using RomCheater.PluginFramework.Interfa
 using System.Diagnostics;
 using libWin32.Win32.Threading;
 using RomCheater.Logging;
+using System.IO;
 
 namespace RomCheater.PluginFramework.Core
 {
@@ -28,10 +29,10 @@ namespace RomCheater.PluginFramework.Cor
             List<ProcContainer> proc_list = new List<ProcContainer>();
             foreach (Process proc in Process.GetProcesses())
             {
+                string proc_name = proc.ProcessName.ToLower();
                 try
                 {
                     bool isSystem = false;
-                    string proc_name = proc.ProcessName.ToLower();
                     string proc_user = ThreadControl.GetProcessOwner(proc.Handle, out isSystem).ToLower();
                     if (isSystem)
                     {
@@ -40,25 +41,31 @@ namespace RomCheater.PluginFramework.Cor
                     }
                     ProcContainer container = null;
                     try
-                    {                       
+                    {
                         container = new ProcContainer(proc);
                         logger.VerboseDebug.WriteLine("  adding process {0} ", proc_name);
+                        proc_list.Add(container);
                     }
+                    catch (FileNotFoundException) { }
                     catch (Exception ex)
                     {
                         //throw;
-                        logger.VerboseDebug.WriteLine("    not adding process {0} because it thew an exception [{1}]", proc_name, ex.Message);
-                        continue;
+                        logger.VerboseError.WriteLine("    not adding process {0} because it thew an exception [{1}]", proc_name, ex.ToString());
+                        //continue;
                     }
-                    proc_list.Add(container);
                 }
-                catch (System.ComponentModel.Win32Exception)
+                catch (System.ComponentModel.Win32Exception ex)
                 {
-                    continue;
+                    if (!((uint)ex.ErrorCode == 0x80004005))
+                    {
+                        logger.VerboseError.WriteLine("    not adding process {0} because it thew an exception [{1}]", proc_name, ex.ToString());
+                    }                   
+                    //continue;
                 }
-                catch (Exception)
+                catch (Exception ex)
                 {
-                    continue;
+                    logger.VerboseError.WriteLine("    not adding process {0} because it thew an exception [{1}]", proc_name, ex.ToString());
+                    //continue;
                 }
             }
             proc_list = proc_list.OrderBy(p => p.Name).ToList();