C#使用控制臺(tái)列出當(dāng)前所有可用的打印機(jī)列表
更新時(shí)間:2015年04月18日 12:12:46 作者:work24
這篇文章主要介紹了C#使用控制臺(tái)列出當(dāng)前所有可用的打印機(jī)列表,涉及C#操作計(jì)算機(jī)硬件的相關(guān)使用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了C#使用控制臺(tái)列出當(dāng)前所有可用打印機(jī)列表的方法。分享給大家供大家參考。具體如下:
// 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 + "root\\CIMV2"; 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 ) { 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" ); return 1; } } }
希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。
相關(guān)文章
WinForm IP地址輸入框控件實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了WinForm IP地址輸入框控件的實(shí)現(xiàn)代碼,基于VS2010模擬windows系統(tǒng)自帶IP輸入框,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05Unity游戲開發(fā)實(shí)現(xiàn)場(chǎng)景切換示例
這篇文章主要為大家介紹了Unity游戲開發(fā)實(shí)現(xiàn)場(chǎng)景切換示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08C#使用密封類實(shí)現(xiàn)密封用戶信息的示例詳解
在C#中,密封類(sealed class)是一種不能被其他類繼承的類,它用于防止其他類繼承它的功能和屬性, 下面我們就來看看如何使用密封類密封用戶的信息吧2024-02-02C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較(Unity3D游戲開發(fā))
在本篇內(nèi)容里我們給大家整理了關(guān)于Unity3D游戲開發(fā)中C#編程中常見數(shù)據(jù)結(jié)構(gòu)的比較相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們參考下。2019-05-05