本文实例讲述了C#返回当前系统所有可用驱动器符号的方法。分享给大家供大家参考。具体如下:
// The initial C# code for the \"plain\" WMI query was generated by // WMI Code Generator, Version 5.00, //http://www.robvanderwoude.com/wmigen.php using System; using System.Management; using System.Collections.Generic; namespace RobvanderWoude { public class ListDrives { public static int Main( string[] args ) { try { string computer = string.Empty; #region Command line parsing // Only 1 optional argument allowed: a remote computer name if ( args.Length > 1 ) { throw new Exception( \"Invalid command line arguments\" ); } if ( args.Length == 1 ) { // We\'ll display a \'friendly\' message if help was requested if ( args[0].StartsWith( \"/\" ) || args[0].StartsWith( \"-\" ) ) { switch ( args[0].ToUpper( ) ) { case \"/?\": case \"-?\": case \"/H\": case \"-H\": case \"--H\": case \"/HELP\": case \"-HELP\": case \"--HELP\": return WriteError( string.Empty ); default: return WriteError( \"Invalid command line argument\" ); } } else { computer = \"\\\\\\\\\" + args[0] + \"\\\\\"; } } #endregion string wmins = computer + \"root\\\\CIMV2\"; ManagementObjectSearcher searcher = new ManagementObjectSearcher( wmins, \"SELECT * FROM Win32_LogicalDisk\" ); Listdrives = new List ( ); foreach ( ManagementObject queryObj in searcher.Get( ) ) { drives.Add( queryObj[\"DeviceID\"].ToString( ) ); } drives.Sort( ); string drivelist = \"\"; foreach ( string drive in drives ) { drivelist += ( drive + \" \" ); } Console.WriteLine( drivelist.Trim( ) ); return 0; } catch ( Exception e ) { return WriteError( e ); } } public static int WriteError( Exception e ) { return WriteError( e == null ? null : e.Message ); } public static int WriteError( string errorMessage ) { string fullpath = Environment.GetCommandLineArgs( ).GetValue( 0 ).ToString( ); string[] program = fullpath.Split( \'\\\\\' ); string exename = program[program.GetUpperBound( 0 )]; exename = exename.Substring( 0, exename.IndexOf( \'.\' ) ); if ( string.IsNullOrEmpty( errorMessage ) == false ) { Console.Error.WriteLine( ); Console.ForegroundColor = ConsoleColor.Red; Console.Error.Write( \"ERROR: \" ); Console.ForegroundColor = ConsoleColor.White; Console.Error.WriteLine( errorMessage ); Console.ResetColor( ); } Console.Error.WriteLine( ); Console.Error.WriteLine( exename + \", Version 1.10\" ); Console.Error.WriteLine( \"List all drive letters in use on the specified computer\" ); Console.Error.WriteLine( ); Console.Error.Write( \"Usage: \" ); Console.ForegroundColor = ConsoleColor.White; Console.Error.Write( exename.ToUpper( ) ); Console.Error.WriteLine( \" [ computername ]\" ); Console.ResetColor( ); Console.Error.WriteLine( ); Console.Error.WriteLine( \"Where: \'computername\' is the (optional) name of a remote computer\" ); Console.Error.WriteLine( \" (default if not specified: local computer)\" ); Console.Error.WriteLine( ); Console.Error.WriteLine( \"Written by Rob van der Woude\" ); return 1; } } }
希望本文所述对大家的C#程序设计有所帮助。