Csharp/C#教程:C#使用控制台列出当前所有可用的打印机列表分享

本文实例讲述了C#使用控制台列出当前所有可用打印机列表的方法。分享给大家供大家参考。具体如下:

//TheinitialC#codefortheWMIquerywasgeneratedbyWMICode //Generator,Version5.00,https://www.robvanderwoude.com/wmigen.php usingSystem; usingSystem.Management; usingSystem.Collections; namespaceRobvanderWoude { publicclassListPrinters { publicstaticintMain(string[]args) { try { stringcomputer=string.Empty; #regionCommandlineparsing //Only1optionalargumentallowed:aremotecomputername if(args.Length>1) { thrownewException("Invalidcommandlinearguments"); } if(args.Length==1) { //We'lldisplaya'friendly'messageifhelpwasrequested 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": returnWriteError(string.Empty); default: returnWriteError("Invalidcommandlineargument"); } } else { computer="\\"+args[0]+"\"; } } #endregion stringwmins=computer+"root\CIMV2"; ManagementObjectSearchersearcher=newManagementObjectSearcher(wmins,"SELECT*FROMWin32_Printer"); ArrayListprinters=newArrayList(); foreach(ManagementObjectqueryObjinsearcher.Get()) { printers.Add(queryObj["DeviceID"]); } printers.Sort(); foreach(stringprinterinprinters) { Console.WriteLine(printer); } return0; } catch(Exceptione) { returnWriteError(e); } } publicstaticintWriteError(Exceptione) { returnWriteError(e==null?null:e.Message); } publicstaticintWriteError(stringerrorMessage) { stringfullpath=Environment.GetCommandLineArgs().GetValue(0).ToString(); string[]program=fullpath.Split('\'); stringexename=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+",Version1.10"); Console.Error.WriteLine("Listalllocalprintersonthespecifiedcomputer"); 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'isthe(optional)nameofaremotecomputer"); Console.Error.WriteLine("(defaultifnotspecified:localcomputer)"); Console.Error.WriteLine(); Console.Error.WriteLine("WrittenbyRobvanderWoude"); return1; } } }

希望本文所述对大家的C#程序设计有所帮助。

您可能感兴趣的文章:C#使用前序遍历、中序遍历和后序遍历打印二叉树的方法C#打印绘图的实现方法C#实现打印与打印预览功能的思路及代码c#打印预览控件中实现用鼠标移动页面功能代码分享C#中通过API实现的打印类实例代码C#获取打印机当前状态的方法C#打印出正等腰三角形实例代码C#实现简单打印的实例代码C#基本打印事件用法实例

标签: 控制台 列表

C++数据结构之实现循环顺序队列

详解C语言中的字符串拼接(堆与栈)

上述就是C#学习教程:C#使用控制台列出当前所有可用的打印机列表分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/906264.html

(0)
上一篇 2021年10月23日
下一篇 2021年10月23日

精彩推荐