Index: trunk/MacFaceFloat/MacFaceApp.cs
===================================================================
--- trunk/MacFaceFloat/MacFaceApp.cs	(revision 119)
+++ trunk/MacFaceFloat/MacFaceApp.cs	(revision 124)
@@ -48,4 +48,11 @@
 		public static void Main(string[] args)
 		{
+            //NtKernel.SYSTEM_BASIC_INFORMATION info = NtKernel.QuerySystemBasicInformation();
+            //NtKernel.SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION[] list =
+            //    NtKernel.QuerySystemProcessorPerformanceInfomation((int)info.ActiveProcessors);
+            //MachineStatus status = MachineStatus.LocalMachineStatus();
+            //int c = status.ProcessorCount;
+            //NtKernel.SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION[] list = status.ProcessorPerformances();
+
             Application.EnableVisualStyles();
             AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
@@ -54,61 +61,4 @@
 		}
 
-		/// <summary>
-		/// Windows 2000 ÍptH[}Xj^ª_Èç»ê¼êAPIÅªñÎé
-		/// </summary>
-		public void SetupStatisticsForWindows2000()
-		{
-//			cpuStats = new CPUStatistics(81);
-//			memStats = new MemoryStatistics(81);
-//
-//			try 
-//			{
-//				// µÉJE^ðÀsµÄÝé
-//				cpuStats.Update();
-//				memStats.Update();
-//			} 
-//			catch (System.ComponentModel.Win32Exception) 
-//			{
-//				// _¾Á½ÌÅptH[}XJE^ðgíÈ¢û@Ö
-//				cpuStats = new CPUStatisticsNtQuerySystemInformation(61);
-//				memStats = new MemoryStatisticsGlobalMemoryStatusEx(61);
-//			}
-//			catch (System.InvalidOperationException) 
-//			{
-//				// _¾Á½ÌÅptH[}XJE^ðgíÈ¢û@Ö
-//				cpuStats = new CPUStatisticsNtQuerySystemInformation(61);
-//				memStats = new MemoryStatisticsGlobalMemoryStatusEx(61);
-//			}
-
-			cpuStats = new CPUStatisticsNtQuerySystemInformation(61);
-			memStats = new MemoryStatisticsNtQuerySystemInformation(61);
-		}
-
-		public void SetupStatisticsForWindowsXP()
-		{
-//			cpuStats = new CPUStatistics(81);
-//			memStats = new MemoryStatistics(81);
-//			try 
-//			{
-//				// µÉJE^ðÀsµÄÝé
-//				cpuStats.Update();
-//				memStats.Update();
-//			} 
-//			catch (System.ComponentModel.Win32Exception) 
-//			{
-//				// _¾Á½ÌÅptH[}XJE^ðgíÈ¢û@Ö
-//				cpuStats = new CPUStatisticsGetSystemTime(61);
-//				memStats = new MemoryStatisticsNtQuerySystemInformation(61);
-//			}
-//			catch (System.InvalidOperationException) 
-//			{
-//				// _¾Á½ÌÅptH[}XJE^ðgíÈ¢û@Ö
-//				cpuStats = new CPUStatisticsGetSystemTime(61);
-//				memStats = new MemoryStatisticsPSAPI(61);
-//			}
-
-			cpuStats = new CPUStatisticsGetSystemTime(61);
-			memStats = new MemoryStatisticsNtQuerySystemInformation(61);
-		}
 
 		public MacFaceApp()
@@ -119,27 +69,19 @@
 			pageio_count = 0;
 
-			// OS ²ÆÉæ¾·éû@ðÏX·é
-			if (Environment.OSVersion.Version.Major == 5 && Environment.OSVersion.Version.Minor == 0)
-			{
-				SetupStatisticsForWindows2000();
-			}
-			else
-			{
-				// XP / 2003 / Vista
-				SetupStatisticsForWindowsXP();
-			}
+            cpuStats = new CPUStatisticsNtQuerySystemInformation(61);
+            memStats = new MemoryStatisticsNtQuerySystemInformation(61);
+
+            patternWindow = null;
+            statusWindow = null;
+
+            InitializeComponent();
+
+            // x64 Â«Å 32bit È OptimusMini.dll ðÇÝà¤Æ·éÆRG[ÆÈéÌÅ½àµÈ¢NXÉµÄ¨­
+		    optimusMini = (IntPtr.Size == 4 ? (IOptimusMini)new OptimusMini() : new OptimusMiniMock());
+            optimusMini.DisplayOn();
 
             //OptimusMini.OnKeyDownCallbackDelegate oKD = new OptimusMini.OnKeyDownCallbackDelegate(OnKeyDownCallbackHandler);
             //OptimusMini.OnDeviceStateChangedCallbackDelegate oDSC = new OptimusMini.OnDeviceStateChangedCallbackDelegate(OnDeviceStateChangedCallbackHandler);
             //OptimusMini.RegisterEventHandler(oKD, oDSC);
-
-            patternWindow = null;
-            statusWindow = null;
-
-            InitializeComponent();
-
-            // x64 Â«Å 32bit È OptimusMini.dll ðÇÝà¤Æ·éÆRG[ÆÈéÌÅ½àµÈ¢NXÉµÄ¨­
-		    optimusMini = (IntPtr.Size == 4 ? (IOptimusMini)new OptimusMini() : new OptimusMiniMock());
-            optimusMini.DisplayOn();
 
             CountProcessorUsage(null, null);
