- using System;
- using System.Management;
- using System.Collections.Generic;
- namespace Win32_Processor_Query
- {
- public class WMIQuery
- {
- public static int Main(string[] args)
- {
- string fullpath = Environment.GetCommandLineArgs().GetValue(0).ToString();
- string[] program = fullpath.Split('\\\\');
- string exename = program[program.GetUpperBound(0)];
- exename = exename.Substring(0, exename.IndexOf('.'));
- if (args.Length > 0)
- {
- Console.OpenStandardError();
- Console.WriteLine();
- Console.WriteLine(exename + ", Version 1.00");
- Console.WriteLine("Detect if running in a 32-bit or 64-bit OS");
- Console.WriteLine();
- Console.WriteLine("Usage: " + exename.ToUpper() + " [ computername ]");
- Console.WriteLine();
- Console.WriteLine("Where: \\"computername\\" is the (optional) name of a remote computer");
- Console.WriteLine(" (default if not specified: local computer)");
- Console.WriteLine();
- Console.WriteLine("Note: Return value (\\"ErrorLevel\\") 32 or 64 equals OS value");
- Console.WriteLine();
- Console.WriteLine("Written by Rob van der Woude");
- Console.OpenStandardOutput();
- return 1;
- }
- try
- {
- string wmins = "root\\\\CIMV2";
- if (args.Length == 1)
- {
- wmins = "\\\\\\\\" + args[0] + "\\\\" + wmins;
- }
- UInt16 addresswidth = 0;
- ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmins, "SELECT * FROM Win32_Processor");
- foreach (ManagementObject queryObj in searcher.Get())
- {
- addresswidth = (UInt16) (queryObj["AddressWidth"]);
- Console.WriteLine("Windows : {0}-bit", addresswidth);
- Console.WriteLine("Processor : {0}-bit", queryObj["DataWidth"]);
- }
- return addresswidth;
- }
- catch (Exception e)
- {
- Console.OpenStandardError();
- Console.WriteLine("Error: " + e.Message);
- Console.WriteLine();
- Console.WriteLine("For detailed help, run: " + exename + " /?");
- Console.OpenStandardOutput();
- return 1;
- }
- }
- }
- }
- //该片段来自于http://www.codesnippet.cn/detail/140820135162.html
来源: http://www.codesnippet.cn/detail/140820135162.html