C#控制台列出当前所有可用的打印机列表
发布时间:2020-12-15 17:56:30 所属栏目:百科 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 // The initial C# code for the WMI query was generated by WMI Code Generator,Version 5.00,http://www.robvanderwoude.com/wmigen.php using Sys
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 // The initial C# code for the 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; namespace RobvanderWoude { public class ListPrinters { 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 + "rootCIMV2"; ManagementObjectSearcher searcher = new ManagementObjectSearcher( wmins,"SELECT * FROM Win32_Printer" ); ArrayList printers = new ArrayList( ); foreach ( ManagementObject queryObj in searcher.Get( ) ) { printers.Add( queryObj["DeviceID"] ); } printers.Sort( ); foreach ( string printer in printers ) { Console.WriteLine( printer ); } 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 ) { /* ListPrinters,Version 1.10 List all local printers on the specified computer Usage: LISTPRINTERS [ computername ] Where: 'computername' is the (optional) name of a remote computer (default if not specified: local computer) Written by Rob van der Woude http://www.robvanderwoude.com */ 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 local printers 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" ); Console.Error.WriteLine( "http://www.robvanderwoude.com" ); return 1; } } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |